Skip to content

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

@DanielGibson

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions