Commit graph

172 commits

Author SHA1 Message Date
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
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
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
9df3b39e1e Fix comment matching for includes not on top of the file
See foonathan/standardese#83.
2017-12-13 20:49:44 +01:00
Jonathan Müller
2b3ddf360b Fix member variable type which is typedef in same class
Type spelling included all scopes. See foonathan/standardese#82.
2017-12-07 22:04:51 +01:00
Jonathan Müller
b2121b19c2 Add indentation C comment heuristics
See foonathan/standardese#84.
2017-12-06 19:34:36 +01:00
Jonathan Müller
ced136a3a4 Fix comma in attributes on enum value 2017-11-10 13:07:22 +01:00
Jonathan Müller
6f128da87f Add default constructor to libclang_parser 2017-10-31 15:55:06 +01:00
Jonathan Müller
0875721452 Handle parsing of extern templates 2017-10-30 22:25:12 +01:00
Jonathan Müller
da3d515d09 Fix issue with GCC attribute syntax 2017-10-30 18:52:11 +01:00
Jonathan Müller
478fd4e90c Fix compilation errors 2017-10-30 10:02:00 +01:00
Jonathan Müller
756fe351f1 Implement alignas parsing 2017-10-29 20:53:30 +01:00
Jonathan Müller
ccb2aaa189 Implement attribute parsing 2017-10-29 19:42:16 +01:00
Jonathan Müller
1572920650 Add function to tokenize strings 2017-10-19 19:02:27 +02:00
Jonathan Müller
cfac41c7b5 Rename tokenizer stuff to include cx prefix 2017-10-14 13:15:38 +02:00
Jonathan Müller
49e63c4a9b Add format_diagnostic() function 2017-10-11 22:10:17 +02:00
Jonathan Müller
35293edc24 Add column to source_location 2017-10-11 21:56:02 +02:00
Jonathan Müller
91a6f40d2d Match comments for unexposed entities 2017-10-11 17:31:55 +02:00
Jonathan Müller
0723bea947 Only generate line directive when necessary 2017-10-11 17:11:27 +02:00
Jonathan Müller
a2929c0020 Handle newlines inside C comments 2017-10-11 17:09:54 +02:00
Jonathan Müller
0672e85186 Add and use cpp_token_string for unexposed entities 2017-10-11 14:15:44 +02:00
Jonathan Müller
e53fc5e231 Include semicolon in unexposed entity 2017-10-11 10:32:08 +02:00
Jonathan Müller
dd0a20c6d5 Support C-style doc comments with ! 2017-10-11 10:15:44 +02:00
Jonathan Müller
845ef61017 Use #line directive to enforce matching line numbers
clang preprocessing output is different on Windows for some reason...
2017-10-10 22:11:29 +02:00
Jonathan Müller
b28fff6c37 Fix preprocessor line numbers if includes aren't supported 2017-10-10 21:13:29 +02:00
Jonathan Müller
d088b44db6 Add line numbers to diagnostics 2017-10-10 17:16:10 +02:00
Jonathan Müller
7c30ba7c46 [breaking] Ensure matching line numbers after preprocessing
Unmatched documentation comments are not just a string, but also contain the line number as well.
2017-10-10 17:07:41 +02:00
Jonathan Müller
8e6c5ccf71 Fix type parser for types with keyword prefix
E.g. a type `constant` would become `const ant`.
2017-10-09 09:20:35 +02:00
Jonathan Müller
49d77c5543 Fix issue with asymmetric common parents of friend function and friend 2017-10-09 09:05:20 +02:00
Jonathan Müller
b3885bbb68 Remove comments in macro invocations
Just breaks to much.
2017-10-07 09:58:14 +02:00
Jonathan Müller
1b468ea476 Dump preprocessed file in verbose mode 2017-10-07 09:35:31 +02:00
Jonathan Müller
08e92c873c Show line number in error message 2017-10-07 09:29:20 +02:00
Jonathan Müller
be2ea9eb44 Hide "too many errors" error message 2017-10-07 09:24:18 +02:00
Jonathan Müller
a2472cd075 Remove trailing whitespace in type instantiation 2017-09-30 11:36:45 +02:00
Jonathan Müller
1c15e7fdc3 Fix compilation under clang 5 2017-09-19 20:53:05 +02:00