2.1.113. --strict_warnings

This option enforces strict C or strict C++, depending on the choice of source language used.

The --strict_warnings option behaves similarly to --strict, except that the compiler issues warning messages in place of error messages when nonstandard features are used.

Errors

When --strict_warnings is in force and a violation of the relevant ISO standard occurs, the compiler normally issues a warning message.

The severity of diagnostic messages can be controlled in the usual way.

Note

In some cases, the compiler issues an error message instead of a warning when it detects something that is strictly illegal, and terminates the compilation. For example:

#ifdef $Super$
extern void $Super$$__aeabi_idiv0(void); /* intercept __aeabi_idiv0 */
#endif

Compiling this code with --strict_warnings generates an error.

Example

void foo(void)
{
    long long i; /* okay in non-strict C90 */
}

Compiling this code with --strict_warnings generates a warning message.

Compilation continues, even though the expression long long is strictly illegal.

See also

Copyright © 2007, 2010 ARM Limited. All rights reserved.ARM DUI 0348A
Non-Confidential