diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2016-03-28 03:19:50 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2016-03-28 03:19:50 +0000 |
| commit | 2041b46b7637414c3775edd762ea9b72ec54b45b (patch) | |
| tree | b7ed0f35fc6a18c4859e6ebf6e7253a5c74c0158 /clang/lib/AST | |
| parent | a51d6ea990e78e49722fb7ebc13d384014f5c691 (diff) | |
| download | bcm5719-llvm-2041b46b7637414c3775edd762ea9b72ec54b45b.tar.gz bcm5719-llvm-2041b46b7637414c3775edd762ea9b72ec54b45b.zip | |
Fix serialization/deserialization for __uuidof
I broke this back in r264529 because I forgot to serialize the UuidAttr
member. Fix this by replacing the UuidAttr with a StringRef which is
properly serialized and deserialized.
llvm-svn: 264562
Diffstat (limited to 'clang/lib/AST')
| -rw-r--r-- | clang/lib/AST/ExprCXX.cpp | 4 | ||||
| -rw-r--r-- | clang/lib/AST/MicrosoftMangle.cpp | 2 |
2 files changed, 1 insertions, 5 deletions
diff --git a/clang/lib/AST/ExprCXX.cpp b/clang/lib/AST/ExprCXX.cpp index 438a376aed4..6bd03b5f9a0 100644 --- a/clang/lib/AST/ExprCXX.cpp +++ b/clang/lib/AST/ExprCXX.cpp @@ -54,10 +54,6 @@ QualType CXXUuidofExpr::getTypeOperand(ASTContext &Context) const { Operand.get<TypeSourceInfo *>()->getType().getNonReferenceType(), Quals); } -StringRef CXXUuidofExpr::getUuidAsStringRef() const { - return UA ? UA->getGuid() : "00000000-0000-0000-0000-000000000000"; -} - // CXXScalarValueInitExpr SourceLocation CXXScalarValueInitExpr::getLocStart() const { return TypeInfo ? TypeInfo->getTypeLoc().getBeginLoc() : RParenLoc; diff --git a/clang/lib/AST/MicrosoftMangle.cpp b/clang/lib/AST/MicrosoftMangle.cpp index 002c2205314..60ad168f87b 100644 --- a/clang/lib/AST/MicrosoftMangle.cpp +++ b/clang/lib/AST/MicrosoftMangle.cpp @@ -1186,7 +1186,7 @@ void MicrosoftCXXNameMangler::mangleExpression(const Expr *E) { // This CXXUuidofExpr is mangled as-if it were actually a VarDecl from // const __s_GUID _GUID_{lower case UUID with underscores} - StringRef Uuid = UE->getUuidAsStringRef(); + StringRef Uuid = UE->getUuidStr(); std::string Name = "_GUID_" + Uuid.lower(); std::replace(Name.begin(), Name.end(), '-', '_'); |

