ARM Technical Support Knowledge Articles

What does the __ESCAPE__ macro in the ARM compilation tools' header files do?

Applies to: DS-5, RealView Development Suite (RVDS)

Scenario

The __ESCAPE__ macro is used in the ARM compilation tools' header files limits, math.h and stdint.h.  However, the __ESCAPE__ macro itself is not defined in any of the header files.  This means that attempting to compile modules (or preprocessed modules) which "#include" limits, math.h or stdint.h with a non-ARM compiler might result in failure.

Answer

The ARM compiler-specific __ESCAPE__ built-in allows the standard headers to use certain extended language features (such as ull) even in --strict mode.

The details and behaviour of this internal feature may change from release to release of the compiler.  It is not intended to be used directly by end users.

Workaround

If strict language compliance is not an issue for you, the __ESCAPE__ can be defined-away as:

#define __ESCAPE__(x) x

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential