https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114875
--- Comment #2 from jeffrey.cliff at gmail dot com --- whoops, accidentally hit submit before I had all the details tl;dr at least in gcc 14.1 [but probably elsewhere] in libgo/runtime/runtime.h defines an enum of enum { true = 1, false = 0, }; which means that it doesn't compile under -std=gnu2x similar to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114216 and more importantly - it's a header, which means *any code that uses it* also won't build. it's an easy enough fix add an if guard #if __STDC_VERSION__ <= 201710L enum { true = 1, false = 0, }; #endif this allows for runtime/runtime.h to be compliant with c23 and previous versions. testing the fix now