From: Duncan Sands Date: Tue, 26 Jan 2010 11:58:04 +0000 (+0000) Subject: Tweak the way appendModuleInlineAsm works, so you aren't obliged X-Git-Tag: android-x86-6.0-r1~1003^2~10528 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=b06f3ad5f99b3ce05a5d39c04cb4d0cbb6d98db4;p=android-x86%2Fexternal-llvm.git Tweak the way appendModuleInlineAsm works, so you aren't obliged to append a newline when using setModuleInlineAsm in case later someone calls appendModuleInlineAsm - make newline handling fully automatic. In case anyone is wondering there is only one user of appendModuleInlineAsm: the dragonegg plugin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94539 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Module.h b/include/llvm/Module.h index 3c8055d09fd..8dfb5089ead 100644 --- a/include/llvm/Module.h +++ b/include/llvm/Module.h @@ -211,11 +211,13 @@ public: /// Set the module-scope inline assembly blocks. void setModuleInlineAsm(StringRef Asm) { GlobalScopeAsm = Asm; } - /// Append to the module-scope inline assembly blocks, automatically - /// appending a newline to the end. + /// Append to the module-scope inline assembly blocks, automatically inserting + /// a separating newline if necessary. void appendModuleInlineAsm(StringRef Asm) { + if (!GlobalScopeAsm.empty() && + GlobalScopeAsm[GlobalScopeAsm.size()-1] != '\n') + GlobalScopeAsm += '\n'; GlobalScopeAsm += Asm; - GlobalScopeAsm += '\n'; } /// @}