[PATCH] D37035: Implement __builtin_LINE() et. al. to support source location capture.
Eric Fiselier via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 27 02:27:28 PDT 2018
EricWF updated this revision to Diff 153024.
EricWF marked 6 inline comments as done.
EricWF added a comment.
Herald added a subscriber: mgorny.
Address most review comments:
- No longer create `StringLiteral` temporaries during both constant evaluation and code generation.
- Attempt to clean up the `SourceLocExprScopeGuard` interface as requested.
Additionally add a new test `CodeGenCXX/builtin-source-location.cpp` to better ensure that evaluation during CodeGen acts the same as constant evaluation. The test is still a WIP.
https://reviews.llvm.org/D37035
Files:
docs/LanguageExtensions.rst
include/clang/AST/APValue.h
include/clang/AST/EvaluatedSourceLocScope.h
include/clang/AST/Expr.h
include/clang/AST/ExprCXX.h
include/clang/AST/RecursiveASTVisitor.h
include/clang/AST/SourceLocExprScope.h
include/clang/AST/Stmt.h
include/clang/Basic/StmtNodes.td
include/clang/Basic/TokenKinds.def
include/clang/Sema/Sema.h
include/clang/Serialization/ASTBitCodes.h
lib/AST/APValue.cpp
lib/AST/ASTImporter.cpp
lib/AST/CMakeLists.txt
lib/AST/Expr.cpp
lib/AST/ExprCXX.cpp
lib/AST/ExprClassification.cpp
lib/AST/ExprConstant.cpp
lib/AST/ItaniumMangle.cpp
lib/AST/SourceLocExprScope.cpp
lib/AST/StmtPrinter.cpp
lib/AST/StmtProfile.cpp
lib/CodeGen/CGExpr.cpp
lib/CodeGen/CGExprAgg.cpp
lib/CodeGen/CGExprComplex.cpp
lib/CodeGen/CGExprConstant.cpp
lib/CodeGen/CGExprScalar.cpp
lib/CodeGen/CodeGenFunction.h
lib/CodeGen/CodeGenModule.cpp
lib/CodeGen/CodeGenModule.h
lib/Parse/ParseExpr.cpp
lib/Sema/SemaDeclCXX.cpp
lib/Sema/SemaExceptionSpec.cpp
lib/Sema/SemaExpr.cpp
lib/Sema/TreeTransform.h
lib/Serialization/ASTReaderStmt.cpp
lib/Serialization/ASTWriterStmt.cpp
lib/StaticAnalyzer/Core/ExprEngine.cpp
test/CodeGenCXX/builtin-source-location.cpp
test/CodeGenCXX/builtin_FUNCTION.cpp
test/CodeGenCXX/builtin_LINE.cpp
test/CodeGenCXX/debug-info-line.cpp
test/Parser/builtin_source_location.c
test/Sema/source_location.c
test/SemaCXX/Inputs/source-location-file.h
test/SemaCXX/source_location.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37035.153024.patch
Type: text/x-patch
Size: 109102 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180627/d47a28df/attachment-0001.bin>
More information about the cfe-commits
mailing list