Commits
Juris Lambda authored 5f4feb57843
....I..... [DEV-3893] rewrote and moved compiler capability tests earlier Move the test prior to other tests relying on the compiler and/or pre-processor (i.e. prior to header tests). The previous test was invalid. The body contained a function definition, which would become a nested function definition inside of the test harness (inside main), which is allowed by GCC as a GNU C extensions. This is always rejected by all other compilers. Replace the test with a proper preprocessor warning to be converted by the given -Werror=cpp flag. As the compiler may not recognize the flag, we need to differentiate between the failure of an unrecognized flag and failure when the warning is promoted to an error. To do this, we perform two additional tests beforehand - whether the compiler keeps going when passed unrecognized flags, and whether it takes accepts the -Werror flag at all. The empty default case in the categorized -Werror flag test is there for the readers convenience to tell apart the conditions and actions.