3 ms·
Any language feature added in C99 and later. In GCC and Clang it's quite relaxed since their C++ frontends pull in a couple of modern C features as non-standar
by flohofwoe 8mo ago
Any language feature added in C99 and later.
In GCC and Clang it's quite relaxed since their C++ frontends pull in a couple of modern C features as non-standard C++ extensions, but MSVC has a strict separation between the C++ and C frontend and doesn't allow this sort of 'cross-pollution'.
As a quick example, this C99 code block has at least 4 features that don't work in C++:
https://github.com/floooh/sokol-samples/blob/91bd8c6f9f52149211d5508703cc805b67bfa399/sapp/texcube-sapp.c#L124-L140 https://github.com/floooh/sokol-samples/blob/91bd8c6f9f52149...
- taking the address of an adhoc-created struct in a function call
- random array access in struct initialization
- designator chaining in struct initialization
- designators can be out-of-order in C but not C++
...also using unions as different views on the same memory is actually useful sometimes.
- nly 8mo agoNothing of value was lost