6c6fd7e9596e7c870e322f4030bdd16235348378 |
15-Nov-2013 |
Alp Toker <alp@nuanti.com> |
Ignore test Inputs globally and remove redundant lit.local.cfg files By adding a default config.excludes pattern we can avoid individual suppressions in subdirectories. This matches LLVM's lit.cfg which also excludes a few other common non-test filenames for consistency. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194814 91177308-0d34-0410-b5e6-96231b3b80d8
it.local.cfg
|
5b9268f26ac53a74d2c504279fe577d988d5615d |
20-Dec-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix code that attempted to produce a diagnostic with one DiagnosticEngine, then produce a note for that diagnostic either with a different DiagnosticEngine or after calling DiagnosticEngine::Reset(). That didn't make any sense, and did the wrong thing if the original diagnostic was suppressed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170636 91177308-0d34-0410-b5e6-96231b3b80d8
lass1.cpp
lass2.cpp
|
cd707abbc758149d9f7d37bd0b25298455c678b2 |
13-Mar-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix crash at @implementation with a forward reference as base class. rdar://11020003 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152596 91177308-0d34-0410-b5e6-96231b3b80d8
nterface2.m
|
cad2c59b0c087edea83d0fbf6eabde4a7960c778 |
08-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix two thinkos and add a test for importing the AST of a category implementation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121263 91177308-0d34-0410-b5e6-96231b3b80d8
ategory1.m
ategory2.m
|
954e0c75c42f321945aff8b9ee96da43cd90c752 |
07-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement AST import for Objective-C property implementations (@synthesize and @dynamic). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121159 91177308-0d34-0410-b5e6-96231b3b80d8
roperty1.m
roperty2.m
|
3daef29bf390dbdb3603748280afd5827d1811da |
07-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement ASTImporter support for Objective-C category implementations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121139 91177308-0d34-0410-b5e6-96231b3b80d8
ategory1.m
ategory2.m
|
dd182ff10b9145e432dea1fd2fb67100ccca3b10 |
07-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Extern the ASTImporter to import @implementation declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121097 91177308-0d34-0410-b5e6-96231b3b80d8
nterface1.m
nterface2.m
|
d5dc83a85c1b9aa32f8262126183df5d71c357ae |
01-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement AST import support for class template specializations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120523 91177308-0d34-0410-b5e6-96231b3b80d8
lass-template1.cpp
lass-template2.cpp
|
040afaeea2313dc69fd532995ac88cccdd62da56 |
30-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement basic AST importing and merging support for class template declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120448 91177308-0d34-0410-b5e6-96231b3b80d8
lass-template1.cpp
lass-template2.cpp
|
81134ad7a056e45b7cb4ee1b562ab8c8413d65b7 |
02-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Don't add an imported function into its lexical context until *after* we've set all of its parameters. Fixes <rdar://problem/8499598>; thanks to Sean for the diagnosis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115387 91177308-0d34-0410-b5e6-96231b3b80d8
lass1.cpp
lass2.cpp
|
5250f27420386452a21692a6292c99ee7febdac4 |
03-Jun-2010 |
John McCall <rjmccall@apple.com> |
Hack in some really terrible C++ record PCH support that I need right now. This is required in order to test: The ASTImporter should set base classes after formally entering the definition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105401 91177308-0d34-0410-b5e6-96231b3b80d8
lass1.cpp
lass2.cpp
|
5821249f8f95f7c3c059f3135baa98e7b9d9e1fc |
24-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Add test for AST importing of C++ namespaces, missing from a prior commit git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97062 91177308-0d34-0410-b5e6-96231b3b80d8
amespace1.cpp
amespace2.cpp
|
008847a70ab122a99911149199855060fb3753b4 |
19-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
AST import for CStyleCastExpr. With this, we can import Cocoa.h into an empty context git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96648 91177308-0d34-0410-b5e6-96231b3b80d8
xprs1.c
xprs2.c
|
bd249a542878a626192746c1e0c0b21f164e6df7 |
19-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
AST import for sizeof and alignof expressions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96647 91177308-0d34-0410-b5e6-96231b3b80d8
xprs1.c
xprs2.c
|
440806306674e23ad74726208cbdc6f37849dd9d |
19-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
AST import for DeclRefExprs git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96646 91177308-0d34-0410-b5e6-96231b3b80d8
xprs1.c
xprs2.c
|
f638f9580ba0da99a66668f00e1a1d4987067bdd |
19-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
AST import of parenthesized expressions, unary operators, binary operators, and compound assignment operators. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96643 91177308-0d34-0410-b5e6-96231b3b80d8
xprs1.c
xprs2.c
|
b2e400aae8c62c4e1616016f40618baace0da065 |
18-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
AST import for character literals git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96557 91177308-0d34-0410-b5e6-96231b3b80d8
xprs1.c
xprs2.c
|
2b785022973202ea6bafe304a50eb3cac1a0aeb8 |
18-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
AST import for forward declarations of Objective-C protocols git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96555 91177308-0d34-0410-b5e6-96231b3b80d8
nterface1.m
nterface2.m
|
a2bc15b7463a9f85a5bff1531d833c278426a733 |
18-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement import of forward declarations of Objective-C classes git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96554 91177308-0d34-0410-b5e6-96231b3b80d8
nterface1.m
nterface2.m
|
b4677b62a8e9bba0913dfe1456bd9d689cdbccac |
18-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
AST import of Objective-C categories. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96551 91177308-0d34-0410-b5e6-96231b3b80d8
ategory1.m
ategory2.m
|
e3261624c1870e52d7efc2ac83e647713361ac6c |
17-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement AST merging for Objective-C properties. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96483 91177308-0d34-0410-b5e6-96231b3b80d8
roperty1.m
roperty2.m
|
2e2a400383c7a64a927f61eeed596b08928e1d4b |
17-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
AST import for Objective-C protocols git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96478 91177308-0d34-0410-b5e6-96231b3b80d8
nterface1.m
nterface2.m
|
c3f2d2bb839593eed8861bce14228df0faf7b6c0 |
17-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement AST importing and checking for Objective-C method declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96442 91177308-0d34-0410-b5e6-96231b3b80d8
nterface1.m
nterface2.m
|
2e55e3af2f6d6c0509495357fade95105dd144cd |
17-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement AST importing of Objective-C instance variables. Check superclasses when merging two Objective-C @interfaces. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96420 91177308-0d34-0410-b5e6-96231b3b80d8
nterface1.m
nterface2.m
|
a12d294db5bd59cd8836b9bd0dafadaaa2e3dd8a |
16-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Skeleton for importing Objective-C classes git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96306 91177308-0d34-0410-b5e6-96231b3b80d8
nterface1.m
nterface2.m
|
ea35d11905f756ad33b87bd89cd3ac1e7ce57994 |
16-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Cope with anonymous tags defined within declarators by structurally comparing their types under the assumption that they are equivalent, rather than importing the types and then checking for compatibility. A few minor tweaks here: - Teach structural matching to handle compatibility between function types with prototypes and those without prototypes. - Teach structural matching that an incomplete record decl is the same as any other record decl with the same name. - Keep track of pairs of declarations that we have already checked (but failed to find as structurally matching), so we don't emit diagnostics repeatedly. - When importing a typedef of an anonymous tag, be sure to link the imported tag type to its typedef. With these changes, we survive a repeated import of <stdlib.h> and <stdio.h>. Alas, the ASTNodeImporter is getting a little grotty. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96298 91177308-0d34-0410-b5e6-96231b3b80d8
num1.c
num2.c
unction1.c
unction2.c
truct1.c
truct2.c
|
73dc30b71e218ba2b776b10d07dc2aff09cb2c47 |
15-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Reimplement the structural-equality checks used to determine whether two types in different AST contexts are equivalent. Rather than transforming the type from one context into the other context, we perform a deep structural comparison of the types. This change addresses a serious problem with recursive data types like struct ListNode { int value; struct ListNode *Next; } xList; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96278 91177308-0d34-0410-b5e6-96231b3b80d8
truct1.c
truct2.c
|
5ce5dab3c30e4255b8f62b148b6a86f09a444aaa |
13-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Funnel changes to the ImportedDecls list in the ASTImporter through a single Imported function, in preparation for fixing a serious design flaw. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96044 91177308-0d34-0410-b5e6-96231b3b80d8
truct1.c
truct2.c
|
36ead2e992abb30aa3b4a40b4c8cb22cc9389fef |
12-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement AST importing and merging for enumeration types and enumerators, along with ImplicitCastExprs to make it work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96024 91177308-0d34-0410-b5e6-96231b3b80d8
num1.c
num2.c
|
e72b5dc556805ea4c91f0ae6d8f8404fc341b687 |
12-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Handle AST merges of incomplete class types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95941 91177308-0d34-0410-b5e6-96231b3b80d8
truct1.c
truct2.c
|
4800d95d28b20eca5d57c108ae3d2e6e312c1182 |
11-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
When AST merging for record declarations fails, warn about the incompatibility and show where the structural differences are. For example: struct1.c:36:8: warning: type 'struct S7' has incompatible definitions in different translation units struct S7 { int i : 8; unsigned j : 8; } x7; ^ struct1.c:36:33: note: bit-field 'j' with type 'unsigned int' and length 8 here struct S7 { int i : 8; unsigned j : 8; } x7; ^ struct2.c:33:33: note: bit-field 'j' with type 'unsigned int' and length 16 here struct S7 { int i : 8; unsigned j : 16; } x7; ^ There are a few changes to make this work: - ASTImporter now has only a single Diagnostic object, not multiple diagnostic objects. Otherwise, having a warning/error printed via one Diagnostic and its note printed on the other Diagnostic could cause the note to be suppressed. - Implemented import functionality for IntegerLiteral (along with general support for statements and expressions) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95900 91177308-0d34-0410-b5e6-96231b3b80d8
truct1.c
truct2.c
|
b203c9ee39be3170a7d545db057de8ea62959259 |
11-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Add missing test cases for AST merging of structures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95886 91177308-0d34-0410-b5e6-96231b3b80d8
truct1.c
truct2.c
|
a404ea673cbee5e74af710a5f1ab571e71580b67 |
10-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement basic support for merging function declarations across translation units. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95794 91177308-0d34-0410-b5e6-96231b3b80d8
unction1.c
unction2.c
|
82fc4bfa6f8ea35488b9038dd83d40766c3645cf |
10-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement AST importing and merging for typedefs. As part of this, provide a lame implementation for importing TypeSourceInfos. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95783 91177308-0d34-0410-b5e6-96231b3b80d8
ypedef1.c
ypedef2.c
|
0f962a8e61e1c094a89df17f9d3ad947d31c4e5c |
10-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach AST merging that variables with incomplete array types can be merged with variables of constant array types. Also, make sure that we call DiagnosticClient's BeginSourceFile/EndSourceFile, so that it has a LangOptions to work with. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95782 91177308-0d34-0410-b5e6-96231b3b80d8
ar1.c
ar2.c
|
ed6ae499e2cb4a959842c157a8682bc96177fb81 |
10-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Add missing header file git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95751 91177308-0d34-0410-b5e6-96231b3b80d8
ar1.h
|
885237354fd902998c6ae9d7cc3dc8de96b123dc |
10-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Implement basic support for importing source locations from one AST into another AST, including their include history. Here's an example error that involves a conflict merging a variable with different types in two translation units (diagnosed in the third AST context into which everything is merged). /Volumes/Data/dgregor/Projects/llvm/tools/clang/test/ASTMerge/Inputs/var2.c:3:5: error: external variable 'x2' declared with incompatible types in different translation units ('int' vs. 'double') int x2; ^ In file included from /Volumes/Data/dgregor/Projects/llvm/tools/clang/test/ASTMerge/Inputs/var1.c:3: /Volumes/Data/dgregor/Projects/llvm/tools/clang/test/ASTMerge/Inputs/var1.h:1:8: note: declared here with type 'double' double x2; ^ Although we maintain include history, we do not maintain macro instantiation history across a merge. Instead, we map down to the spelling location (for now!). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95732 91177308-0d34-0410-b5e6-96231b3b80d8
ar1.c
ar2.c
|
e07c5b06c4b992688344ae68fc7e8401bdda4053 |
09-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Add in the LIT magic to avoid running AST merge test inputs as separate tests. Thanks, Daniel! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95705 91177308-0d34-0410-b5e6-96231b3b80d8
it.local.cfg
ar1.c
ar2.c
|
9bed8798964d9f07599c2c9199701f86fbc70e20 |
09-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a testbed for merging multiple ASTs into a single AST context with the AST importer. WIP, still useless but at least it has a test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95683 91177308-0d34-0410-b5e6-96231b3b80d8
ar1.c
ar2.c
|