diff options
| author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-05-05 04:20:28 +0000 | 
|---|---|---|
| committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-05-05 04:20:28 +0000 | 
| commit | bbff3da6225e16ca40b894c503ceea4644b3baf0 (patch) | |
| tree | a3cc11cb6b2d5e9eb5ff315ac8f5a502bcd8c5ec /clang/lib | |
| parent | de9e92ed9b96ebe2769cd7d3e02af6ae2a5d9a40 (diff) | |
| download | bcm5719-llvm-bbff3da6225e16ca40b894c503ceea4644b3baf0.tar.gz bcm5719-llvm-bbff3da6225e16ca40b894c503ceea4644b3baf0.zip | |
Make BuiltinType::getName return a StringRef and introduce BuiltinType::getNameAsCString
to get a const char* if necessary.
This avoids unnecessary conversions when we want to use the result of getName as
a StringRef.
Part of rdar://10796159
llvm-svn: 156227
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/AST/Type.cpp | 2 | ||||
| -rw-r--r-- | clang/lib/AST/TypePrinter.cpp | 2 | ||||
| -rw-r--r-- | clang/lib/CodeGen/CGDebugInfo.cpp | 2 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaCodeComplete.cpp | 2 | 
4 files changed, 4 insertions, 4 deletions
| diff --git a/clang/lib/AST/Type.cpp b/clang/lib/AST/Type.cpp index fa71ecf4545..42673e8e7d0 100644 --- a/clang/lib/AST/Type.cpp +++ b/clang/lib/AST/Type.cpp @@ -1425,7 +1425,7 @@ const char *Type::getTypeClassName() const {    llvm_unreachable("Invalid type class.");  } -const char *BuiltinType::getName(const PrintingPolicy &Policy) const { +StringRef BuiltinType::getName(const PrintingPolicy &Policy) const {    switch (getKind()) {    case Void:              return "void";    case Bool:              return Policy.Bool ? "bool" : "_Bool"; diff --git a/clang/lib/AST/TypePrinter.cpp b/clang/lib/AST/TypePrinter.cpp index 3bf80e79724..5ec548f3f9a 100644 --- a/clang/lib/AST/TypePrinter.cpp +++ b/clang/lib/AST/TypePrinter.cpp @@ -210,7 +210,7 @@ void TypePrinter::printBuiltin(const BuiltinType *T, std::string &S) {    } else {      // Prefix the basic type, e.g. 'int X'.      S = ' ' + S; -    S = T->getName(Policy) + S; +    S = T->getNameAsCString(Policy) + S;    }  } diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp index b3fc0a45cef..0567bf10e43 100644 --- a/clang/lib/CodeGen/CGDebugInfo.cpp +++ b/clang/lib/CodeGen/CGDebugInfo.cpp @@ -335,7 +335,7 @@ void CGDebugInfo::CreateCompileUnit() {  /// one if necessary.  llvm::DIType CGDebugInfo::CreateType(const BuiltinType *BT) {    unsigned Encoding = 0; -  const char *BTName = NULL; +  StringRef BTName;    switch (BT->getKind()) {  #define BUILTIN_TYPE(Id, SingletonId)  #define PLACEHOLDER_TYPE(Id, SingletonId) \ diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index 6536d9f522b..24f536fa06b 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -1414,7 +1414,7 @@ static const char *GetCompletionTypeString(QualType T,    if (!T.getLocalQualifiers()) {      // Built-in type names are constant strings.      if (const BuiltinType *BT = dyn_cast<BuiltinType>(T)) -      return BT->getName(Policy); +      return BT->getNameAsCString(Policy);      // Anonymous tag types are constant strings.      if (const TagType *TagT = dyn_cast<TagType>(T)) | 

