summaryrefslogtreecommitdiff
path: root/lib/Sema/SemaStmtAsm.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2016-12-07 00:17:18 +0000
committerReid Kleckner <rnk@google.com>2016-12-07 00:17:18 +0000
commitd3f65406bbc1874bdec9af90ccbaa53ff60110c9 (patch)
treee20e6561ebfee1390d1454421e96dec1de8360cb /lib/Sema/SemaStmtAsm.cpp
parent9d208e19f424c4a10afbd6d391cd3cbe49a1d6d4 (diff)
downloadclang-d3f65406bbc1874bdec9af90ccbaa53ff60110c9.tar.gz
Address review feedback by adding comments about ${:uid}
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@288868 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaStmtAsm.cpp')
-rw-r--r--lib/Sema/SemaStmtAsm.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Sema/SemaStmtAsm.cpp b/lib/Sema/SemaStmtAsm.cpp
index 0064a2c512..9a18244984 100644
--- a/lib/Sema/SemaStmtAsm.cpp
+++ b/lib/Sema/SemaStmtAsm.cpp
@@ -750,9 +750,11 @@ LabelDecl *Sema::GetOrCreateMSAsmLabel(StringRef ExternalLabelName,
// Otherwise, insert it, but only resolve it if we have seen the label itself.
std::string InternalName;
llvm::raw_string_ostream OS(InternalName);
- // Create an internal name for the label. The name should not be a valid mangled
- // name, and should be unique. We use a dot to make the name an invalid mangled
- // name.
+ // Create an internal name for the label. The name should not be a valid
+ // mangled name, and should be unique. We use a dot to make the name an
+ // invalid mangled name. We use LLVM's inline asm ${:uid} escape so that a
+ // unique label is generated each time this blob is emitted, even after
+ // inlining or LTO.
OS << "__MSASMLABEL_.${:uid}__";
for (char C : ExternalLabelName) {
OS << C;