]> granicus.if.org Git - clang/commitdiff
Roll back the use of ConstStringRef for now
authorAlp Toker <alp@nuanti.com>
Mon, 27 Jan 2014 05:21:24 +0000 (05:21 +0000)
committerAlp Toker <alp@nuanti.com>
Mon, 27 Jan 2014 05:21:24 +0000 (05:21 +0000)
We might want try a different strategy so hold back on this for the moment, but
fix the off-by-one error in the original function template.

This reverts commit r200190.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@200193 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/Diagnostic.h
include/clang/Basic/LLVM.h

index a81550a69f6beb12430e6d5353a6cd89d0f1856a..6782964df6682bd28b8046e926df89556a98b268 100644 (file)
@@ -595,8 +595,10 @@ public:
   ///
   /// \param FormatString A fixed diagnostic format string that will be hashed
   /// and mapped to a unique DiagID.
-  unsigned getCustomDiagID(Level L, ConstStringRef FormatString) {
-    return Diags->getCustomDiagID((DiagnosticIDs::Level)L, FormatString);
+  template <unsigned N>
+  unsigned getCustomDiagID(Level L, const char (&FormatString)[N]) {
+    return Diags->getCustomDiagID((DiagnosticIDs::Level)L,
+                                  StringRef(FormatString, N - 1));
   }
 
   /// \brief Converts a diagnostic argument (as an intptr_t) into the string
index 166c61cef21286da51653ed3478cd14e4f212cb5..306c75e57a9f75fd22192b7502370edf82d95290 100644 (file)
@@ -27,7 +27,6 @@
 namespace llvm {
   // ADT's.
   class StringRef;
-  class ConstStringRef;
   class Twine;
   template<typename T> class ArrayRef;
   template<typename T> class OwningPtr;
@@ -62,7 +61,6 @@ namespace clang {
   using llvm::None;
   using llvm::Optional;
   using llvm::StringRef;
-  using llvm::ConstStringRef;
   using llvm::Twine;
   using llvm::ArrayRef;
   using llvm::OwningPtr;