diff options
| author | Douglas Gregor <dgregor@apple.com> | 2011-01-28 02:26:04 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2011-01-28 02:26:04 +0000 |
| commit | c03a1083afd6b96f46fea4f07e21d3c5d15ddf57 (patch) | |
| tree | 0d40ab6c4cd7732d836b0abdab8d7a01c66ec163 /clang/lib/Serialization | |
| parent | dd2fe7adb548e8d38e4a685287099ab79ca004be (diff) | |
| download | bcm5719-llvm-c03a1083afd6b96f46fea4f07e21d3c5d15ddf57.tar.gz bcm5719-llvm-c03a1083afd6b96f46fea4f07e21d3c5d15ddf57.zip | |
Give OpaqueValueExpr a source location, because its source location
might be queried in places where we absolutely require a valid
location (e.g., for template instantiation). Fixes some major
brokenness in the use of __is_convertible_to.
llvm-svn: 124465
Diffstat (limited to 'clang/lib/Serialization')
| -rw-r--r-- | clang/lib/Serialization/ASTReaderStmt.cpp | 1 | ||||
| -rw-r--r-- | clang/lib/Serialization/ASTWriterStmt.cpp | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReaderStmt.cpp b/clang/lib/Serialization/ASTReaderStmt.cpp index 79b68e63a8e..1a2284bde87 100644 --- a/clang/lib/Serialization/ASTReaderStmt.cpp +++ b/clang/lib/Serialization/ASTReaderStmt.cpp @@ -1327,6 +1327,7 @@ void ASTStmtReader::VisitSubstNonTypeTemplateParmPackExpr( void ASTStmtReader::VisitOpaqueValueExpr(OpaqueValueExpr *E) { VisitExpr(E); + E->Loc = ReadSourceLocation(Record, Idx); } Stmt *ASTReader::ReadStmt(PerFileData &F) { diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp index 3962439ac5e..601de6d8f62 100644 --- a/clang/lib/Serialization/ASTWriterStmt.cpp +++ b/clang/lib/Serialization/ASTWriterStmt.cpp @@ -1332,6 +1332,7 @@ void ASTStmtWriter::VisitSubstNonTypeTemplateParmPackExpr( void ASTStmtWriter::VisitOpaqueValueExpr(OpaqueValueExpr *E) { VisitExpr(E); + Writer.AddSourceLocation(E->getLocation(), Record); Code = serialization::EXPR_OPAQUE_VALUE; } |

