8.5 --anachronisms, --no_anachronisms

Enables and disables anachronisms in C++.


This option is effective only if the source language is C++.


The default is --no_anachronisms.


typedef enum { red, white, blue } tricolor;
inline tricolor operator++(tricolor c, int)
    int i = static_cast<int>(c) + 1;
    return static_cast<tricolor>(i);
void foo(void)
    tricolor c = red;
    c++; // okay
    ++c; // anachronism

Compiling this code with the option --anachronisms generates a warning message.

Compiling this code without the option --anachronisms generates an error message.

Related reference
8.37 --cpp
8.173 --strict, --no_strict
8.174 --strict_warnings
11.8 Anachronisms in ARM C++
Non-ConfidentialPDF file icon PDF versionARM DUI0472J
Copyright © 2010-2013 ARM. All rights reserved.