#
8ca265f4 |
| 17-Jun-2017 |
Lang Hames <lhames@gmail.com> |
Call setMustBuildLookupTable on TagDecls in ExternalASTMerger
Summary: setMustBuildLookupTable should be called on imported TagDecls otherwise we may fail to import their member decls (if they have
Call setMustBuildLookupTable on TagDecls in ExternalASTMerger
Summary: setMustBuildLookupTable should be called on imported TagDecls otherwise we may fail to import their member decls (if they have any).
Not calling the setMustBuildLookupTable method results in a failure in the attached test case when lookup for the 'x' member fails on struct S, which hasn't had its decls imported elsewhere. (By contrast the member-in-struct testcase hasn't run into this issue because the import of its decls is triggered when the struct instance is defined, and the member access follows this).
Reviewers: spyffe, rsmith
Reviewed By: spyffe, rsmith
Differential Revision: https://reviews.llvm.org/D34253
llvm-svn: 305619
show more ...
|
Revision tags: llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2 |
|
#
9092d479 |
| 13-May-2017 |
Sean Callanan <scallanan@apple.com> |
[ASTImporter] Improve handling of incomplete types
ASTImporter has some bugs when it's importing types that themselves come from an ExternalASTSource. This is exposed particularly in the behavior
[ASTImporter] Improve handling of incomplete types
ASTImporter has some bugs when it's importing types that themselves come from an ExternalASTSource. This is exposed particularly in the behavior when comparing complete TagDecls with forward declarations. This patch does several things:
- Adds a test case making sure that conflicting forward-declarations are resolved correctly; - Extends the clang-import-test harness to test two-level importing, so that we make sure we complete types when necessary; and - Fixes a few bugs I found this way. Failure to complete types was one; however, I also discovered that complete RecordDecls aren't properly added to the redecls chain for existing forward declarations.
llvm-svn: 302975
show more ...
|
Revision tags: llvmorg-4.0.1-rc1 |
|
#
0a0c0332 |
| 17-Apr-2017 |
David Blaikie <dblaikie@gmail.com> |
Use default ref capture to simplify local lambdas, use a template to avoid std::function overhead, other cleanup
llvm-svn: 300461
|
#
23ad196a |
| 13-Apr-2017 |
NAKAMURA Takumi <geek4civic@gmail.com> |
ExternalASTMerger.cpp: Silence another warning. [-Wunused-lambda-capture]
llvm-svn: 300145
|
#
4ecc848e |
| 11-Apr-2017 |
Benjamin Kramer <benny.kra@googlemail.com> |
Silence unused variable warning in release builds.
llvm-svn: 300006
|
#
f8edb1de |
| 11-Apr-2017 |
Sean Callanan <scallanan@apple.com> |
[ExternalASTMerger] Removed a move constructor to address MSVC build failure
llvm-svn: 299983
|
#
4bb0d78c |
| 11-Apr-2017 |
Sean Callanan <scallanan@apple.com> |
[ExternalASTMerger] Fix the MSVC build
llvm-svn: 299977
|
#
b7160ca4 |
| 11-Apr-2017 |
Sean Callanan <scallanan@apple.com> |
[clang-import-test] Lookup inside contexts
clang-import-test has until now been only able to report top-level Decls. This is clearly insufficient; we should be able to look inside structs and names
[clang-import-test] Lookup inside contexts
clang-import-test has until now been only able to report top-level Decls. This is clearly insufficient; we should be able to look inside structs and namespaces also. This patch adds new test cases for a variety of lookups inside existing ASTContexts, and adds the functionality necessar to make most of these testcases work. (One testcase is known to fail because of ASTImporter limitations when importing templates; I'll look into that separately.)
This patch also separates the core functionality out into ExternalASTMerger, an interface that allows clients like LLDB to make use of it. clang-import-test now only has the machinery necessary to set up the tests.
Differential revision: https://reviews.llvm.org/D30435
llvm-svn: 299976
show more ...
|