A stricter subset of C++ for projects that want C-like compile times and binary size while keeping the productive syntax of modern C++. It also keeps the full set of C99 / C-style features (designated initializers, compound literals, VLAs) available, so you lose nothing from the C side either.
Note: C+ targets clang and GCC only. MSVC is not supported — it lacks direct equivalents for these flags, and its runtime surface and strip-down options diverge enough that this approach doesn't translate. Use a GCC-family toolchain.
clang deliberately adopted GCC's GNU C/C++ surface — they share the same
-f*flags, the__builtin_*intrinsics, and the GNU C/C++ extensions (__attribute__, statement expressions, designated initializers, compound literals, VLAs, etc.) — so a single C+ configuration works across both. MSVC supports none of this: it grew up on a separate lineage with its own intrinsics,__declspecin place of__attribute__, and no GNU-extension support, and never aimed for