Commit graph

365 commits

Author SHA1 Message Date
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
Manu Sánchez
6be7e4793e Allow LLVM downloads from custom server (#53)
Fixes #49.
2018-03-28 21:18:48 +02:00
Jonathan Müller
7b030190bd Expose __attribute__ and __declspec 2018-03-28 18:26:16 +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
8255455533 Properly fix #46 2018-03-28 17:15:48 +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
Manu Sánchez
07282901d5 Update type_safe submodule (#48) 2018-03-19 13:30:42 +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
34a072cafc Log diagnostic when a file is not found 2018-03-12 12:03:14 +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
d2dc8907e2 Fix issues with fast preprocessing option 2018-02-17 13:16:14 +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
d6ae705b5e Update copyright in tool version 2018-02-16 10:50:30 +01:00
Jonathan Müller
cc35c30e38 Add option for fast preprocessing to tool 2018-02-16 10:49:38 +01:00
Jonathan Müller
159bc38883 Fix logic for building examples/tests
Fixes #36.
2018-02-14 15:50:16 +01:00
Jonathan Müller
4c34587668 Add integration test that parses cppast itself
Fixes #29.
2018-02-01 19:04:23 +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
03495fbf11 Add informational log output to simple_file_parser 2018-02-01 09:22:34 +01:00
Jonathan Müller
ca5623b43d Add file name to error output 2018-02-01 09:22:34 +01:00
Jonathan Müller
3998d6154e Allow arrays as range type for parse_files() 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
Manu Sánchez
24365e8b82 Check if libclang components are found by cmake (#31)
Add checks after find_xxxx() cmake commands to abort configuration
if any of the components/configs (include dir, libclang binary, etc) are
not found.
2018-01-18 07:47:32 +01:00
Jonathan Müller
1e5271a4b7 Fix and improve C comment indent heuristic 2018-01-15 09:08:48 +01:00
Jonathan Müller
3e4a3e4037 Don't download from LLVM website 2018-01-12 20:53:00 +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