Commit graph

281 commits

Author SHA1 Message Date
Jonathan Müller
7a4b2590d8 Cross platform fun 2018-11-28 19:26:15 +01:00
Jonathan Müller
8a60d52be1 Remove dependency on system include dir 2018-11-28 16:32:54 +01:00
Ingo Ruhnke
824f19effd Add handling of -isystem include flag (#70) 2018-10-25 23:24:41 +02:00
Jonathan Müller
6a3baa9974 Ignore more type kinds 2018-10-25 21:49:12 +02:00
Jonathan Müller
de7f29d267 Register namespace alias as forward declaration
They may occur multiple times in a project.
2018-09-24 21:48:49 +02:00
Jonathan Müller
a4c64dbc8d Implement a search for the clang binary 2018-09-24 16:28:16 +02:00
Jonathan Müller
c26d230d33 [breaking] Drop support for clang 3.9.1 2018-09-24 15:59:12 +02:00
Jonathan Müller
9f18b7f4d8 Update clang-format 2018-09-20 19:57:03 +02:00
Jonathan Müller
5cc7e51bf2 Properly render macro parameters as identifiers 2018-06-20 10:29:59 +02:00
Jonathan Müller
56d4964b61 [breaking] Turn macro parameters into propert entities 2018-06-20 09:54:16 +02:00
Manu Sánchez
c341ae01f1 Change "odd flag" criteria on preprocessor command flags (#57)
The assert on libclang/preprocessor.cpp:263 fails with common flags
such as "-g", because the assertion says valid flags must have at least
three characters.

I've changed that condition to accept two char flags like -g
2018-06-06 13:39:00 +02:00
Jonathan Müller
e0e78c0a3e Fix spaces in include paths
Fixes #56.
2018-06-05 20:56:25 +02:00
Jonathan Müller
2d8be149aa Fix filename of diagnostics
See #37.
2018-04-02 16:43:32 +02:00
Jonathan Müller
19f237043b Handle attribute names that are keywords 2018-03-28 17:16:39 +02:00
Rokas Kupstys
2122dad8b0 Expose __attribute__ and __declspec attributes. Closes #50. 2018-03-28 17:16:39 +02:00
Jonathan Müller
e67e354d9b Fix bad assertion 2018-03-28 10:40:57 +02:00
Jonathan Müller
045a33fbd6 Add a proper workaround for #46 2018-03-28 10:40:57 +02:00
Jonathan Müller
6cb99d4516 Revert "Add (crude) workaround for _DEBUGGER_STEP_INTO #line in MSVC"
This reverts commit 2004780ea6.
2018-03-26 20:49:16 +02:00
Jonathan Müller
61a2a22542 Add option to change preprocessor -CC to -C
See #37.
2018-03-20 16:12:23 +01:00
Jonathan Müller
2004780ea6 Add (crude) workaround for _DEBUGGER_STEP_INTO #line in MSVC
Fixes #46.
2018-03-20 15:40:39 +01:00
Jonathan Müller
4b73c44133 Fix issue with array function arguments
Fixes #47.
2018-03-20 15:19:41 +01:00
Jonathan Müller
003207361a Properly handle unnecessary semicolons
Now fixes #45.
2018-03-19 21:12:40 +01:00
Jonathan Müller
300854a6b0 Remove empty token check
Lead to an issue with semicolon at end of file, fixes #45.
2018-03-14 16:30:09 +01:00
Jonathan Müller
0caa3bdb15 Add missing case for CXType_Float16 2018-03-12 11:49:09 +01:00
Jonathan Müller
670551faa5 Fix include issue on pre-clang 4.0.0 2018-03-12 11:44:04 +01:00
Jonathan Müller
a91746c145 Improve variadic token workaround 2018-03-12 11:26:56 +01:00
Jonathan Müller
c2b86d1cad Fix full path of includes 2018-02-21 16:25:46 +01:00
Jonathan Müller
2ced972b9f Add missing missing file check 2018-02-19 19:24:54 +01:00
Jonathan Müller
cc5127979b Fix external macro use when fast_preprocessing=false
Forget to add standard library includes...

Fixes #39.
2018-02-17 16:06:12 +01:00
Jonathan Müller
b36a4a84b8 Properly detect include guard macros when fast preprocessing
Fixes #35.
2018-02-17 13:01:34 +01:00
Jonathan Müller
c7b13d89bc Fix CI errors 2018-02-01 18:52:37 +01:00
Jonathan Müller
8c426ac115 Add fast preprocessing mode 2018-02-01 18:27:41 +01:00
Jonathan Müller
bd4db2ce80 Add self-parsing integration test 2018-02-01 16:32:30 +01:00
Jonathan Müller
59c7ea31e1 Handle string literals in macro definition 2018-02-01 09:24:32 +01:00
Jonathan Müller
be0390446d Ignore macro expansion cursors 2018-02-01 09:24:32 +01:00
Jonathan Müller
98e709fdfc Fix return type having same name as function 2018-02-01 09:24:30 +01:00
Jonathan Müller
ca5623b43d Add file name to error output 2018-02-01 09:22:34 +01:00
Jonathan Müller
4c78c69da0 Update copyright year 2018-01-26 08:39:09 +01:00
Jonathan Müller
bca488c3d7 Improve fix #32 2018-01-25 21:57:07 +01:00
Zsolt Erhardt
ca2fae08a2 Bugfix/escaped character parsing (#32)
So as it turns out there's a nasty little piece of code in rapidjson's
source which breaks the preprocessor and will leave things a little bit
weird.

The test "preprocessor_parses_escaped_character" should prove
its validity.
2018-01-22 11:18:38 +01:00
Jonathan Müller
1e5271a4b7 Fix and improve C comment indent heuristic 2018-01-15 09:08:48 +01:00
Jonathan Müller
3e8b2b429c Better handling of include refs 2018-01-11 21:22:28 +01:00
Jonathan Müller
1e50e12742 Fix get_instantiation_template() so that it returns the primary template 2018-01-09 21:03:00 +01:00
Jonathan Müller
6c27481fa7 Allow exclude of template parameters in generation 2018-01-09 20:38:37 +01:00
Jonathan Müller
755f251da9 Steal comment of nested namespace 2017-12-22 10:54:37 +01:00
topisani
037619964f Comments and (failing) tests 2017-12-22 04:09:48 +01:00
topisani
76fb7dee43 Parse C++17 nested namespace declarations
This is maybe not the most correct way to do it, but i dont think it misparses
any valid code.
2017-12-20 18:15:31 +01:00
Jonathan Müller
8eef31bba1 Add on_container_end() function to code generator to allow injection of children 2017-12-14 19:08:22 +01:00
Jonathan Müller
2c7b06dea9 Add get_class() function to resolve base class types 2017-12-14 19:07:47 +01:00
Jonathan Müller
9df3b39e1e Fix comment matching for includes not on top of the file
See foonathan/standardese#83.
2017-12-13 20:49:44 +01:00