llvm-project/clang/unittests/AST
Gabor Marton a20ce60e48 [ASTImporter] Merge ExprBits
Summary:
Some `Expr` classes set up default values for the `ExprBits` of `Stmt`.  These
default values are then overwritten by the parser sometimes.  One example is
`InitListExpr` which sets the value kind to be an rvalue in the ctor.  However,
this bit may change after the `InitListExpr` is created.  There may be other
expressions similar to `InitListExpr` in this sense, thus the safest solution
is to copy the expression bits.

The lack of copying `ExprBits` causes an assertion in the analyzer engine in a
specific case: Since the value kind is not imported, the analyzer engine
believes that the given InitListExpr is an rvalue, thus it creates a
nonloc::CompoundVal instead of creating memory region (as in case of an lvalue
reference).

Reviewers: a_sidorin, r.stahl, xazax.hun, a.sidorin

Subscribers: rnkovacs, dkrupp, cfe-commits

Differential Revision: https://reviews.llvm.org/D51533

llvm-svn: 341316
2018-09-03 13:10:53 +00:00
..
ASTContextParentMapTest.cpp Prune away some unused using decls. NFC. 2016-06-08 15:34:36 +00:00
ASTImporterTest.cpp [ASTImporter] Merge ExprBits 2018-09-03 13:10:53 +00:00
ASTTypeTraitsTest.cpp Make output of -ast-print a valid C++ code. 2016-11-10 08:49:37 +00:00
ASTVectorTest.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CMakeLists.txt [ASTImporter] Add unit tests for structural equivalence 2018-05-24 08:41:07 +00:00
CommentLexer.cpp Added braces to work around gcc warning in googletest: suggest explicit braces to avoid ambiguous 'else'. NFC. 2017-06-15 21:01:24 +00:00
CommentParser.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CommentTextTest.cpp Fix rL332458: [AST] Added a helper to extract a user-friendly text of a comment. 2018-05-17 06:46:15 +00:00
DataCollectionTest.cpp [AST] Add TableGen for StmtDataCollectors 2017-09-06 13:20:51 +00:00
DeclMatcher.h Fix duplicate class template definitions problem 2018-05-23 13:53:36 +00:00
DeclPrinterTest.cpp [DeclPrinter] Allow printing fully qualified name of function declaration 2017-11-23 05:38:20 +00:00
DeclTest.cpp Revert "Lexer: always allow imaginary constants in GNU mode." 2017-08-08 23:17:51 +00:00
EvaluateAsRValueTest.cpp Revert "[Tooling] [0/1] Refactor FrontendActionFactory::create() to return std::unique_ptr<>" 2018-02-27 15:54:55 +00:00
ExternalASTSourceTest.cpp Reapply "IntrusiveRefCntPtr -> std::shared_ptr for CompilerInvocationBase and CodeCompleteConsumer" 2017-01-06 19:49:01 +00:00
Language.cpp [ASTImporter] Add ms compatibility to tests which use the TestBase 2018-06-25 13:04:37 +00:00
Language.h [ASTImporter] Add ms compatibility to tests which use the TestBase 2018-06-25 13:04:37 +00:00
MatchVerifier.h [ASTImporter] Add unit tests for structural equivalence 2018-05-24 08:41:07 +00:00
NamedDeclPrinterTest.cpp [AST] namespace ns { extern "C" { int X; }} prints as "ns::X", not as "X" 2018-02-02 13:34:47 +00:00
SourceLocationTest.cpp Tracking exception specification source locations 2017-01-12 16:11:28 +00:00
StmtPrinterTest.cpp Allow StmtPrinter to supress implicit 'this' and 'self' base expressions 2017-10-26 00:56:54 +00:00
StructuralEquivalenceTest.cpp Fix structural inequivalency of forward EnumDecl 2018-08-09 12:36:25 +00:00