diff options
author | Leonard Chan <leonardchan@google.com> | 2019-05-07 03:20:17 +0000 |
---|---|---|
committer | Leonard Chan <leonardchan@google.com> | 2019-05-07 03:20:17 +0000 |
commit | c72aaf62d3f92c0c6d33b4df2253505f6eb22996 (patch) | |
tree | bb29b4896b3792cdef8f5017a40b59625c456f04 /clang/lib/Serialization/ASTWriter.cpp | |
parent | da82ce99b7460164ffb841619aadb44f397d2106 (diff) | |
download | bcm5719-llvm-c72aaf62d3f92c0c6d33b4df2253505f6eb22996.tar.gz bcm5719-llvm-c72aaf62d3f92c0c6d33b4df2253505f6eb22996.zip |
Recommit r359859 "[Attribute/Diagnostics] Print macro if definition is an attribute declaration"
Updated with fix for read of uninitialized memory.
llvm-svn: 360109
Diffstat (limited to 'clang/lib/Serialization/ASTWriter.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTWriter.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index 756411a8c5b..accd8ccdfaf 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -516,6 +516,12 @@ void ASTTypeWriter::VisitParenType(const ParenType *T) { Code = TYPE_PAREN; } +void ASTTypeWriter::VisitMacroQualifiedType(const MacroQualifiedType *T) { + Record.AddTypeRef(T->getUnderlyingType()); + Record.AddIdentifierRef(T->getMacroIdentifier()); + Code = TYPE_MACRO_QUALIFIED; +} + void ASTTypeWriter::VisitElaboratedType(const ElaboratedType *T) { Record.push_back(T->getKeyword()); Record.AddNestedNameSpecifier(T->getQualifier()); @@ -802,6 +808,10 @@ void TypeLocWriter::VisitParenTypeLoc(ParenTypeLoc TL) { Record.AddSourceLocation(TL.getRParenLoc()); } +void TypeLocWriter::VisitMacroQualifiedTypeLoc(MacroQualifiedTypeLoc TL) { + Record.AddSourceLocation(TL.getExpansionLoc()); +} + void TypeLocWriter::VisitElaboratedTypeLoc(ElaboratedTypeLoc TL) { Record.AddSourceLocation(TL.getElaboratedKeywordLoc()); Record.AddNestedNameSpecifierLoc(TL.getQualifierLoc()); @@ -1219,6 +1229,7 @@ void ASTWriter::WriteBlockInfoBlock() { RECORD(TYPE_DEPENDENT_TEMPLATE_SPECIALIZATION); RECORD(TYPE_DEPENDENT_SIZED_ARRAY); RECORD(TYPE_PAREN); + RECORD(TYPE_MACRO_QUALIFIED); RECORD(TYPE_PACK_EXPANSION); RECORD(TYPE_ATTRIBUTED); RECORD(TYPE_SUBST_TEMPLATE_TYPE_PARM_PACK); |