Is there any technical reason why esp-idf v4.0 and release/v4.1 are still using std=gnu99 over newer versions of the language (such as gnu11)? The following preprocessor-time error triggers on std=gnu99:
Code: Select all
#define STR(x) #x
#define _STR(x) STR(x)
#if __STDC_VERSION__ >= 201112L
/* C11-compliant code here */
#else
#error C11 not supported
#pragma message "Supported C standard: " _STR(__STDC_VERSION__)
#endif
Code: Select all
#error C11 not supported
note: #pragma message: Supported C standard: 199901L
Is there any real reason not to migrate to std=gnu11?