I was more thinking feature guards, and yeah I agree it is crazy that modern compilers and popular FFI layers alike don't [fully] support a 22 year old C standard.
However, this means that targetting the 31 year old C standard is the only genuinely portable [C] solution.

I'll stick to the less feature rich [toy] greatest.h for now…

On Thu, 14 Jan 2021, 4:58 pm Andreas Schneider, <asn@cryptomilk.org> wrote:
On Thursday, 14 January 2021 06:39:33 CET Samuel Marks wrote:
> All platforms: yes
> All compilers: no.
>
> Most are just toy compilers, some are special (tcc)
> https://en.wikipedia.org/wiki/List_of_compilers#C_compilers
>
> In terms of which "mainstream" compilers FULLY support a C standard greater
> than C89, all of GCC, Clang, and I think Intel's oneAPI DPC++ / C++
> Compiler also. But not MSVC.

For MSVC not supporting C99 it compiles just fine with C99 features in use:

https://gitlab.com/cmocka/cmocka/-/pipelines/241222132

> The default standard for Intel is C89
> https://software.intel.com/content/www/us/en/develop/articles/c99-support-in
> -intel-c-compiler.html

I do not plan to stop or reverting C99 features we already use in cmocka. We
are already past that point since some years. Also 20 years to adopt C99 is
enough time.

If you require C89 then might be good idea to use a different unit testing
framework.
As I said I will not move backwards as we use C99 feature since years already.


        Andreas