summaryrefslogtreecommitdiffstats
path: root/lib/AST/Stmt.cpp
diff options
context:
space:
mode:
authorrdivacky <rdivacky@FreeBSD.org>2010-04-06 15:53:59 +0000
committerrdivacky <rdivacky@FreeBSD.org>2010-04-06 15:53:59 +0000
commit71438373cd57f0d5d8c93bb5cf690844a0fbc9d0 (patch)
tree59c928209f8007777dd96568b026bdfe200691de /lib/AST/Stmt.cpp
parentac616af773f5062edaaf1a0bb5610b49a22ac41f (diff)
downloadFreeBSD-src-71438373cd57f0d5d8c93bb5cf690844a0fbc9d0.zip
FreeBSD-src-71438373cd57f0d5d8c93bb5cf690844a0fbc9d0.tar.gz
Update clang to r100520.
Diffstat (limited to 'lib/AST/Stmt.cpp')
-rw-r--r--lib/AST/Stmt.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/AST/Stmt.cpp b/lib/AST/Stmt.cpp
index 8347249..9702382 100644
--- a/lib/AST/Stmt.cpp
+++ b/lib/AST/Stmt.cpp
@@ -249,14 +249,18 @@ unsigned AsmStmt::AnalyzeAsmString(llvm::SmallVectorImpl<AsmStringPiece>&Pieces,
}
char CurChar = *CurPtr++;
- if (CurChar == '$') {
- CurStringPiece += "$$";
- continue;
- } else if (CurChar != '%') {
+ switch (CurChar) {
+ case '$': CurStringPiece += "$$"; continue;
+ case '{': CurStringPiece += "$("; continue;
+ case '|': CurStringPiece += "$|"; continue;
+ case '}': CurStringPiece += "$)"; continue;
+ case '%':
+ break;
+ default:
CurStringPiece += CurChar;
continue;
}
-
+
// Escaped "%" character in asm string.
if (CurPtr == StrEnd) {
// % at end of string is invalid (no escape).
OpenPOWER on IntegriCloud