diff options
author | Chris Lattner <sabre@nondot.org> | 2010-06-21 23:14:47 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-06-21 23:14:47 +0000 |
commit | bb45b964f8e2fb32aed2ab91d5a8964cdb877190 (patch) | |
tree | fdf31f07f9b3928fd2b9ce4b7c153769c4cbdced /llvm/lib/Target/CppBackend | |
parent | a0b8c90870fccecf514673f617cd86d1a34328ec (diff) | |
download | bcm5719-llvm-bb45b964f8e2fb32aed2ab91d5a8964cdb877190.tar.gz bcm5719-llvm-bb45b964f8e2fb32aed2ab91d5a8964cdb877190.zip |
eliminate a mutable global variable, use raw_ostream::indent instead of
rolling our own.
llvm-svn: 106501
Diffstat (limited to 'llvm/lib/Target/CppBackend')
-rw-r--r-- | llvm/lib/Target/CppBackend/CPPBackend.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/llvm/lib/Target/CppBackend/CPPBackend.cpp b/llvm/lib/Target/CppBackend/CPPBackend.cpp index df1947e2e24..00f3cafb707 100644 --- a/llvm/lib/Target/CppBackend/CPPBackend.cpp +++ b/llvm/lib/Target/CppBackend/CPPBackend.cpp @@ -99,6 +99,7 @@ namespace { ValueSet DefinedValues; ForwardRefMap ForwardRefs; bool is_inline; + unsigned indent_level; public: static char ID; @@ -120,6 +121,11 @@ namespace { void error(const std::string& msg); + + formatted_raw_ostream& nl(formatted_raw_ostream &Out, int delta = 0); + inline void in() { indent_level++; } + inline void out() { if (indent_level >0) indent_level--; } + private: void printLinkageType(GlobalValue::LinkageTypes LT); void printVisibilityType(GlobalValue::VisibilityTypes VisTypes); @@ -155,20 +161,14 @@ namespace { }; } // end anonymous namespace. -// FIXME: Shouldn't be using globals for this. -static unsigned indent_level = 0; -static formatted_raw_ostream& nl(formatted_raw_ostream &Out, int delta = 0) { - Out << "\n"; +formatted_raw_ostream &CppWriter::nl(formatted_raw_ostream &Out, int delta) { + Out << '\n'; if (delta >= 0 || indent_level >= unsigned(-delta)) indent_level += delta; - for (unsigned i = 0; i < indent_level; ++i) - Out << " "; + Out.indent(indent_level); return Out; } -static inline void in() { indent_level++; } -static inline void out() { if (indent_level >0) indent_level--; } - static inline void sanitize(std::string &str) { for (size_t i = 0; i < str.length(); ++i) if (!isalnum(str[i]) && str[i] != '_') |