Commit graph

330 commits

Author SHA1 Message Date
738b0198c2
Add ability to parse multiple files 2023-02-14 13:46:08 -07:00
Lucas Jansen
7b25525232
Add support for C language standards (#159) 2023-01-26 12:17:44 +01:00
Chloe
e751294b96
Add c++2b as a permitted language version (#156) 2023-01-11 17:09:19 +01:00
Jonathan Müller
05bd2f4caf Parse semantic parent of variable definitions
Fixes #151.
2022-12-07 12:59:30 +01:00
Jonathan Müller
12432de30d Add ability to set semanitc parent of a cpp_variable 2022-12-07 12:47:42 +01:00
Jonathan Müller
ba6fd12dce Handle circular includes, take 2
We can't rely on path equivalence to determine the old file, need to
count the level instead.

Fixes #150, again.
2022-11-24 21:45:53 +01:00
Jonathan Müller
282f05ed38 Handle circular includes
Fixes #150.
2022-11-13 21:32:39 +01:00
Jonathan Müller
e5fa6b7efa Fix entity id for elaborated type referencing using declaration
Fixes #149.
2022-11-06 19:17:50 +01:00
Jonathan Müller
a3393ed0fa Fix formatting of cpp_dependent_type
Note that `cpp_dependent_type` is currently never generated, so it is
not tested.

Fixes #148.
2022-10-22 11:42:31 +02:00
Jonathan Müller
34e7bb4bf4 Fix unmunch for template arguments
Fixes #147.
2022-10-13 17:30:41 +02:00
Jonathan Müller
4c40bb7544 Remove tokenizer unmunch as it was never set 2022-10-13 09:09:37 +02:00
Julian Rüth
f81be80b52
Add install targets to cmake setup (#145) 2022-09-06 18:23:20 +02:00
waitingtocompile
a937efbcbc
Add basic concept support (#144) 2022-09-03 21:22:59 +02:00
waitingtocompile
f3e399573f
Add options for custom clang binary path in clang compile config constructor (#143) 2022-08-30 18:14:21 +02:00
John
b958847850 Fixed files with backslashes not reporting any items
Parse_linemarker was turning double backslashes into quadruple backslashes.
Making it instead turn them into single backslashes makes the `lm.value().file == path` comparison true in preprocess() so that p.enable_write() is called.

Fixes #106.
2022-06-30 17:25:41 +02:00
Jonathan Müller
1a4dc770cb Handle "note: expanded from here" diagnostics in preprocessor
Fixes #140.
2022-06-30 15:08:20 +02:00
Jonathan Müller
c4a47b38c5 Expand duplicate definition check 2022-06-30 14:58:49 +02:00
Bartek Kryza
19cbc378f8
Fix virtual inheritance parsing (#137) 2022-04-17 19:14:08 +02:00
Jonathan Müller
62e571a4d6 Update copyright notices 2022-02-07 20:43:22 +01:00
Jonathan Müller
373717cc5e Fix multidimensional array of incomplete size
Fixes #129.
2022-02-06 21:50:54 +01:00
Julian Rüth
5069f2f167
Add forward declarations (#116) 2022-01-31 15:19:12 +01:00
Jonathan Müller
d303bab0da Support attributes in using declaration target
Fixes parsing of libcxx.
2022-01-31 14:41:46 +01:00
Fadhil Mandaga
bf7ec70ea5 Backslash escape in paths
Fixes #106.
2021-10-13 19:16:00 +02:00
Minh Lu
1b03d106ab Add support for consteval 2021-03-24 19:47:50 +01:00
Minh Lu
ce218dfb8a Add basic C++20 support 2021-03-24 19:47:50 +01:00
Jonathan Müller
019163b585 Allow duplicate definitions of templates 2021-03-01 18:30:28 +01:00
Julian Rüth
36b64d29b9
Segfault when parsing an empty extern "C" {} block (#110)
extern declaration blocks can be empty: https://en.cppreference.com/w/cpp/language/language_linkage
2021-02-03 19:28:49 +01:00
nealhow
6542b72a71
Fix MSVC warnings (#104)
/WX Treats all compiler warnings as errors. It should be disabled to prevent compilation issues with CMake on Windows.

/W4 displays level 1, level 2, and level 3 warnings, and all level 4 (informational) warnings that aren't off by default. /W3 is the default setting in the IDE and should be enforced to prevent issues with CMake.
2020-10-02 13:33:45 +02:00
Jonathan Müller
4bc743327d Fix float literal detection
Fixes #95.
2019-11-18 18:47:37 +01:00
Jonathan Müller
000febb999 Fix parsing of explicit template instantiation
Fixes #82.
2019-11-18 17:22:00 +01:00
Julian Rüth
144f94da5a Remove superfluous move (#84) 2019-10-02 19:38:18 +02:00
Omer Ozarslan
a89ebcdf0a Use empty underlying type for aliases of anonymous types (#83)
Fixes #58
2019-08-16 12:58:48 +02:00
Jonathan Müller
bda6629bd9 Fix unreachable warning 2019-04-08 15:11:31 +02:00
Jonathan Müller
5dd48ccf50 Fix missing switch cases 2019-04-08 14:55:09 +02:00
Jonathan Müller
e2a98b3533 Properly handle upstream fix for #1 2019-02-01 14:24:04 +01:00
Jonathan Müller
ade719651f Copyright year update 2019-02-01 14:14:36 +01:00
Jonathan Müller
44fbe78b2e Fix issue with double quotation of macros
Fixes foonathan/standardese#117.
2018-12-20 16:20:45 +01:00
Jonathan Müller
facd7310ec Move GCC compiler to azure 2018-12-18 18:53:40 +01:00
Jonathan Müller
70630ff6b3 Workaround MacOS integration tests 2018-12-18 18:27:36 +01:00
Jonathan Müller
7d4794460e Fix Windows warnings 2018-12-18 18:27:36 +01:00
Jonathan Müller
d44571f1c8 Improve CMake 2018-12-18 18:27:36 +01:00
Jonathan Müller
51c2fc6569 Extend variable range to include attributes
Fixes #27.
2018-12-18 16:42:57 +01:00
Jonathan Müller
3aaa73020d Handle inline type declarations and attributes
Fixes #27.
2018-12-18 16:42:57 +01:00
Jonathan Müller
40236f606b Support multiple separate attributes in front
Fixes #60.
2018-12-18 16:42:57 +01:00
Jonathan Müller
6f70de206b Fix false positive in variadic parameter workaround 2018-12-18 16:42:57 +01:00
Jonathan Müller
f66ec833c1 Fix issue with defaulted destructors 2018-12-18 16:42:57 +01:00
Jonathan Müller
101b7ccc18 Simplify tokenizer
Fixes #26.
2018-12-18 16:42:57 +01:00
Jonathan Müller
336a00946d Parse feature flags in compilation database 2018-12-03 12:20:32 +01:00
Jonathan Müller
c6aae718bd Add support for -fXX feature flags 2018-12-03 12:17:50 +01:00
Jonathan Müller
7a4b2590d8 Cross platform fun 2018-11-28 19:26:15 +01:00