Elias Holzer
d3fb9289cf
Synced new and old parser.
...
* Implemented missing parts in regards to class templates.
* Fixed couple of class member initialization issues in C++ AST classes.
* Make code more look alike so it's easier to compare them.
* All tests pass now with old and new parser. Especially the nasty STL one with the ostream typedef.
12 years ago
triton
6edcb8dd44
Added support for decltype types.
12 years ago
Vladimir Timofeev
1a458765ac
Fix crash with parsing stdarg.h (or around this on Mac). Simple skip fake va_list_tag_name declaration as in clang repo in lib/Sema/SemaLookup.cpp
12 years ago
Elias Holzer
24cd3840b5
Added support for unnamed enums to new parser.
12 years ago
triton
55f4b849c7
Explicitly construct the parser and keep it in ParserResult.
...
This fixes some non-deterministic behavior in the new parser but it means we are keeping around all the memory for parsing until the end of the process. This is a bit messy right now but at least we keep the API compatible between parsers. After all the new parser bugs are squashed, this will be reworked.
12 years ago
triton
5a449eaafb
Removed duplicate preprocessed entity add in the new parser.
12 years ago
Elias Holzer
749e5a399e
Added new property Parameter.Index.
...
Also added test which checks whether both parsers assign the AST parameter properties properly.
12 years ago
Elias Holzer
2fac4d47b8
Introduced new property Method.IsExplicit in AST.
12 years ago
triton
92619e90ed
Fixed preprocessor creation to the newest LLVM.
...
We are temporarily using and old version of LLVM on VS for now.
12 years ago
triton
35488071ed
Fixed preprocessed entities parsing in the new parser.
12 years ago
triton
54fa62beae
Initialize the class layout in the new parser.
12 years ago
triton
ee3fbd8e03
Added support for anonymous C++11 inline namespaces to the AST and parsers.
12 years ago
triton
83be8a7153
Initialized some previously uninitialized memory fields on the parser.
12 years ago
triton
2daffce14f
Switched from llvm::OwningPtr to std::unique_ptr since LLVM removed it.
12 years ago
triton
71a875d6b9
Added missing GetTargetInfo to CppParser.
12 years ago
triton
fb70229e26
Updated to a recent LLVM and Clang revision.
12 years ago
Øystein Krog
a268eb1875
Add new GetTargetInfo() method in parsers, that exposes information about type sizes and alignment.
12 years ago
Dimitar Dobrev
2605ac680d
Added stubbed support for pack expansions to the new parser as well.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
2c624acb06
Fixed preprocessed declaration parsing for translation units in the new parser.
...
Fixes the failing TestPasses.TestCleanEnumItemNames test.
12 years ago
triton
b89daa1d0a
Fixed parser warning in WalkTemplateSpecializationKind.
12 years ago
triton
45b110e739
Added arguments options support to pass custom Clang options to the parser.
12 years ago
triton
5677c5aa9d
Remove hardcoded "-Wno-undefined-inline" option from the parsers.
12 years ago
triton
cb62d64d5e
Fixed the parser, it got broken in a recent pull request merge.
12 years ago
triton
82d6d609b4
Fixed parsing of preprocessed entities for parameter declarations.
...
Clang reports a wrong source range for function parameters and since we already process them specially we should not process them in HandleDeclaration too, else we get duplicated entities.
12 years ago
triton
ae52dd8963
Fixed parsing of preprocessed entities for implicit declarations.
12 years ago
Øystein Krog
e9f43c059e
Modify parser to set the Namespace in MacroDefinition
12 years ago
triton
df88729095
Updated to the latest LLVM/Clang revisions.
12 years ago
Joao Matos
19376cc2c3
Added support for keeping track of extern "C" contexts in classes/structs.
12 years ago
Joao Matos
4f2135eddf
Use the most recent (re)declaration when setting the MS inheritance model.
12 years ago
Joao Matos
9e14383e10
Fixed parser to work with recent Clang changes.
...
Basically we need to lock in the MS inheritance model in a record when it appears as part of a member pointer type else we get some fun Clang code gen internals assert.
12 years ago
Joao Matos
88e5d1cf3d
Updated the parsers to the latest Clang API changes.
12 years ago
triton
8c0adad5f1
Fixed parsing bug and subsequent failing test in GenerateEnumFromMacros.
...
It now uses preprocessed entities instead of the soon-to-be-removed macros.
12 years ago
triton
a112faef52
Fixed memory corruption bug by explicitly initializing the pointer to null.
12 years ago
triton
e9fd50983a
Reworked parsing of preprocessed entities.
...
Fixes macro expansions and translation units processing.
12 years ago
Øystein Krog
c71b29aeb9
Update to latest LLVM
12 years ago
Michael Ciccotti
a15b40733b
Update to latest llvm/clang
12 years ago
triton
391fe9d800
Fixed function type parameters parsing in the the new parser.
12 years ago
triton
5ce7213784
Added partial support for template specializations to the new parser.
12 years ago
triton
74368b2c3d
Fixed the parser to always fill the original pointer value in declarations.
12 years ago
triton
afd626b93f
Added explicit kinds to declarations and kinds in the new parser.
...
This is needed for runtime polymorphism when converting the AST generated by the new parser.
12 years ago
triton
0954ad0c7e
Fixed destructors by keeping track when they are non-trivial.
12 years ago
triton
786ea61a7b
Fixed the C++ parser to properly parser libraries.
12 years ago
triton
a40c043d19
Updated the C++ parsers to the latest Clang.
12 years ago
triton
a754b46438
Reworked function template parsing.
...
The previous version did not handle methods properly and lead to duplicate definitions since it did not check for existing templates with the same signature.
12 years ago
triton
340b24b7f7
Fixed parsing of comments for enum declarations.
12 years ago
triton
6bd549c27d
GCC compilation fixes.
12 years ago
triton
677ca81154
Fixed regression in parsing of preprocessed entities.
...
Specifically we now store the pointer of the original declaration and check for duplicates.
12 years ago
triton
7b30906cd6
Added more robust parsing for type locs when parsing functions.
...
(last commit test should also trigger this)
12 years ago
triton
6402c3ca55
Added support for C++ attributed types to the parser, AST ,generators and tests.
12 years ago
triton
04a5956dd3
Updated the C++ parser to the latest template fixes.
12 years ago