llvm-project/clang/test/Import
Eric Fiselier 5cdc2cda28 [AST] Store "UsesADL" information in CallExpr.
Summary:
Currently the Clang AST doesn't store information about how the callee of a CallExpr was found. Specifically if it was found using ADL.

However, this information is invaluable to tooling. Consider a tool which renames usages of a function. If the originally CallExpr was formed using ADL, then the tooling may need to additionally qualify the replacement.
Without information about how the callee was found, the tooling is left scratching it's head. Additionally, we want to be able to match ADL calls as quickly as possible, which means avoiding computing the answer on the fly.

This patch changes `CallExpr` to store whether it's callee was found using ADL. It does not change the size of any AST nodes.


Reviewers: fowles, rsmith, klimek, shafik

Reviewed By: rsmith

Subscribers: aaron.ballman, riccibruno, calabrese, titus, cfe-commits

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

llvm-svn: 348977
2018-12-12 21:50:55 +00:00
..
array-init-loop-expr [ASTImporter] Actually test ArrayInitLoopExpr in the array-init-loop-expr test. 2018-08-22 22:50:45 +00:00
attr [ASTImporter] fix test failure corrected by fixed func end locs 2018-07-09 09:02:53 +00:00
call-expr [AST] Store "UsesADL" information in CallExpr. 2018-12-12 21:50:55 +00:00
clang-flags
compound-assign-op [ASTImporter] Add test for importing CompoundAssignOperators 2018-08-16 18:21:33 +00:00
conflicting-struct [ASTImporter] Improve handling of incomplete types 2017-05-13 00:46:33 +00:00
conversion-decl [ASTImporter] Added test case for CXXConversionDecl importing 2018-08-11 23:43:02 +00:00
cxx-casts [ASTImporter] Add test for C++ casts and fix broken const_cast importing. 2018-08-20 16:20:01 +00:00
cxx-default-init-expr [ASTImporter] Add test for CXXDefaultInitExpr 2018-08-16 01:37:43 +00:00
cxx-for-range [cxx2a] P0614R1: Support init-statements in range-based for loops. 2018-09-28 18:44:09 +00:00
cxx-member-pointers [ASTImporter] Add test for member pointer types. 2018-08-16 18:22:21 +00:00
cxx-noexcept-expr [ASTImporter] Add test for CXXNoexceptExpr 2018-08-21 17:15:57 +00:00
cxx-scalar-value-init [ASTImporter] Add test for CXXScalarValueInit 2018-08-16 01:36:37 +00:00
cxx-try-catch [ASTImporter] Add test for C++'s try/catch statements. 2018-08-20 22:13:24 +00:00
direct clang-import-test had some dead code. I did the following to eliminate it: 2017-07-10 23:47:00 +00:00
do-stmt [ASTImporter] Add test for DoStmt 2018-08-16 18:20:52 +00:00
empty-struct
enum [ASTImporter] Added test case for opaque enums 2018-08-11 23:43:46 +00:00
error-in-expression
error-in-import
expr-with-cleanups [ASTImporter] Add test for ExprWithCleanups 2018-08-15 22:51:37 +00:00
extern-c-function Add support for remembering origins to ExternalASTMerger 2017-09-27 19:57:58 +00:00
for-stmt [ASTImporter] Test for importing condition variable from a ForStmt 2018-08-20 15:51:41 +00:00
forward-declared-objc-class Add support for remembering origins to ExternalASTMerger 2017-09-27 19:57:58 +00:00
forward-declared-struct Add support for remembering origins to ExternalASTMerger 2017-09-27 19:57:58 +00:00
if-stmt [AST] Only store the needed data in IfStmt 2018-10-27 21:12:20 +00:00
import-overrides Add testcase for r305850. 2017-07-07 21:51:11 +00:00
in-class-initializer Added an Importer test for in-class member initializers. 2017-04-27 18:10:29 +00:00
indirect-goto [ASTImporter] Add test for IndirectGotoStmt 2018-08-16 18:19:21 +00:00
indirect-struct-member-access Call setMustBuildLookupTable on TagDecls in ExternalASTMerger 2017-06-17 00:12:38 +00:00
inherited-ctor-init-expr [ASTImporter] Add support for import of CXXInheritedCtorInitExpr. 2018-07-25 10:21:06 +00:00
local-struct Add support for remembering origins to ExternalASTMerger 2017-09-27 19:57:58 +00:00
local-struct-use-origins Add support for remembering origins to ExternalASTMerger 2017-09-27 19:57:58 +00:00
member-in-struct
missing-import
multiple-forward-declarations
objc-autoreleasepool [ASTImporter] Add test for ObjCAutoreleasePoolStmt 2018-08-22 22:45:04 +00:00
objc-definitions-in-expression Add support for remembering origins to ExternalASTMerger 2017-09-27 19:57:58 +00:00
objc-method [ExternalASTMerger] Import Objective-C classes 2017-07-25 19:54:22 +00:00
objc-param-decl [ASTImporter] Add test for ObjCTypeParamDecl 2018-08-22 22:48:40 +00:00
objc-try-catch Re-land [ASTImporter] Add test for ObjCAtTryStmt/ObjCAtCatchStmt/ObjCAtThrowStmt 2018-08-23 16:06:30 +00:00
overloaded-function
pack-expansion-expr [ASTImporter] Add test for PackExpansionExpr 2018-08-24 18:01:56 +00:00
struct-and-var Add support for remembering origins to ExternalASTMerger 2017-09-27 19:57:58 +00:00
struct-in-namespace
struct-layout This adds the argument --dump-ir to clang-import-test, which allows 2017-08-07 22:27:30 +00:00
switch-stmt Compound literals, enums, et al require const expr 2018-11-09 00:41:36 +00:00
template Add support for remembering origins to ExternalASTMerger 2017-09-27 19:57:58 +00:00
template-specialization [ASTImporter] Support LambdaExprs and improve template support 2018-01-26 11:36:54 +00:00
while-stmt [AST] Only store the needed data in WhileStmt 2018-10-30 13:42:41 +00:00