diff options
author | Mark Heffernan <meheff@google.com> | 2014-07-21 19:06:29 +0000 |
---|---|---|
committer | Mark Heffernan <meheff@google.com> | 2014-07-21 19:06:29 +0000 |
commit | d75652426799d60e671d178de054309840312997 (patch) | |
tree | 25aba86b26dae9c8b6a3ed1dd35d14e0bc4bbd3d | |
parent | dfd60139839e1cfe0063be2261034e8e7888bd90 (diff) |
Fix build breakage caused by use of std::to_string(int). Replace with raw_string_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213578 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/Basic/Attr.td | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/include/clang/Basic/Attr.td b/include/clang/Basic/Attr.td index 4850e2675c..62bb1ddb7f 100644 --- a/include/clang/Basic/Attr.td +++ b/include/clang/Basic/Attr.td @@ -1814,40 +1814,45 @@ def LoopHint : Attr { // String "unroll" of "#pragma unroll" is already emitted as the // pragma name. if (option == UnrollCount) - OS << getValueString(); + printArgument(OS); OS << "\n"; return; } assert(SpellingIndex == Pragma_clang_loop && "Unexpected spelling"); - OS << getOptionName(option) << getValueString() << "\n"; + OS << getOptionName(option); + printArgument(OS); + OS << "\n"; } - // Return a string containing the loop hint argument including the - // enclosing parentheses. - std::string getValueString() const { - std::string ValueName; + // Prints the loop hint argument including the enclosing parentheses to OS. + void printArgument(raw_ostream &OS) const { + OS << "("; if (option == VectorizeWidth || option == InterleaveCount || option == UnrollCount) - ValueName = std::to_string(value); + OS << value; else if (value) - ValueName = "enable"; + OS << "enable"; else - ValueName = "disable"; - - return "(" + ValueName + ")"; + OS << "disable"; + OS << ")"; } // Return a string suitable for identifying this attribute in diagnostics. std::string getDiagnosticName() const { + std::string DiagnosticName; + llvm::raw_string_ostream OS(DiagnosticName); unsigned SpellingIndex = getSpellingListIndex(); if (SpellingIndex == Pragma_unroll && option == Unroll) - return "#pragma unroll"; + OS << "#pragma unroll"; else if (SpellingIndex == Pragma_unroll && option == UnrollCount) { - return "#pragma unroll" + getValueString(); + OS << "#pragma unroll"; + printArgument(OS); } else { assert(SpellingIndex == Pragma_clang_loop && "Unexpected spelling"); - return std::string(getOptionName(option)) + getValueString(); + OS << getOptionName(option); + printArgument(OS); } + return OS.str(); } }]; |