// RUN: grep -Ev "// *[A-Z-]+:" %s > %t.cpp // RUN: remove-cstr-calls . %t.cpp -- // RUN: FileCheck -input-file=%t.cpp %s // REQUIRES: shell namespace std { template class allocator {}; template class char_traits {}; template struct basic_string { basic_string(); basic_string(const C *p, const A& a = A()); const C *c_str() const; }; typedef basic_string, std::allocator > string; } namespace llvm { struct StringRef { StringRef(const char *p); StringRef(const std::string &); }; } void f1(const std::string &s) { f1(s.c_str()); // CHECK: void f1 // CHECK-NEXT: f1(s) } void f2(const llvm::StringRef r) { std::string s; f2(s.c_str()); // CHECK: std::string s; // CHECK-NEXT: f2(s) } void f3(const llvm::StringRef &r) { std::string s; f3(s.c_str()); // CHECK: std::string s; // CHECK: f3(s) }