Skip to content

Parser doesn't recognize _Static_assert() and _Bool #1447

Description

@DanielGibson

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

Image

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions