Describe the bug
I imported the Linux kernel source as described in https://github.com/eclipse-cdt/cdt/tree/main/FAQ#whats-the-best-way-to-set-up-the-cdt-to-navigate-linux-kernel-source
(by the way, indexing took like 20min even with an SSD and a fast PC)
I noticed lots of "Syntax errors" that turned out to be caused by Macros that use _Static_assert() or usage of the bool type, which <linux/types.h> defines like typedef _Bool bool; - when looking at that file Eclipse complains about the _Bool.
I could reproduce the _Static_assert() problem in other C and C++ projects, but another C project did not complain about _Bool - not sure why, is there a project-specific setting for the assumed C version that I missed?
To Reproduce
Steps to reproduce the behavior:
Import the Linux source as described in your FAQ and look at drivers/input/serio/i8042.c, maybe expand the used Macros.
Or try _Static_assert(1, "asd"); and _Bool b; this in any other C project, I guess?
Expected behavior
Both _Static_assert(cond, "message") and _Static_assert(cond) should be recognized (and probably ignored).
Same for _Bool, probably regardless of used language version (let the compiler complain about it).
Screenshots
Version Information (please complete the following information):
- OS and OS Version/extra details: XUbuntu Linux 24.04, x86_64
- Eclipse Version from Help -> About: 2025-12 (4.38.0)
- CDT Version from Help -> About -> Installation Details -> Features tab: 12.4.0.202603041756
Describe the bug
I imported the Linux kernel source as described in https://github.com/eclipse-cdt/cdt/tree/main/FAQ#whats-the-best-way-to-set-up-the-cdt-to-navigate-linux-kernel-source
(by the way, indexing took like 20min even with an SSD and a fast PC)
I noticed lots of "Syntax errors" that turned out to be caused by Macros that use
_Static_assert()or usage of thebooltype, which<linux/types.h>defines liketypedef _Bool bool;- when looking at that file Eclipse complains about the_Bool.I could reproduce the
_Static_assert()problem in other C and C++ projects, but another C project did not complain about_Bool- not sure why, is there a project-specific setting for the assumed C version that I missed?To Reproduce
Steps to reproduce the behavior:
Import the Linux source as described in your FAQ and look at
drivers/input/serio/i8042.c, maybe expand the used Macros.Or try
_Static_assert(1, "asd");and_Bool b;this in any other C project, I guess?Expected behavior
Both
_Static_assert(cond, "message")and_Static_assert(cond)should be recognized (and probably ignored).Same for
_Bool, probably regardless of used language version (let the compiler complain about it).Screenshots
Version Information (please complete the following information):