GCC 15 Makes C23 the Default, Breaking Old C Libraries That Defined Their Own bool
Many C libraries define their own bool type with typedef or enum, which conflicts with the bool keyword that C23 makes standard. GCC 15 now defaults to C23 when no standard is specified, so code that previously compiled may fail. Older-style function declarations with empty parentheses also change meaning under C23, since they now mean a function taking no arguments. Distributions such as Fedora have already moved to GCC 15, so builds from source may break during routine updates. A quick workaround is to pass -std=gnu17, but the proper fix is to update the affected code to match modern C standards.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)
Log in to join the discussion and vote.
Log in