2.1.112. --[no_]strict

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

When --strict is selected:

Default

The default is --no_strict.

Usage

--strict enforces compliance with:

ISO C90
  • ISO/IEC 9899:1990, the 1990 International Standard for C.

  • ISO/IEC 9899 AM1, the 1995 Normative Addendum 1.

ISO C99

ISO/IEC 9899:1999, the 1999 International Standard for C.

ISO C++

ISO/IEC 14822:2003, the 2003 International Standard for C++.

Errors

When --strict is in force and a violation of the relevant ISO standard occurs, the compiler issues an error message.

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

Example

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

Compiling this code with --strict generates an error.

See also

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