The expression inside the
__cpp must be a constant
expression suitable for use as a C++ static initialization. See 3.6.2 Initialization of non-local objects and 5.19 Constant expressions in ISO/IEC 14882:2003.
The following example shows a constant replacing the use of
LDR r0, =__cpp(&
LDR r1, =__cpp(
MOV r0, #__cpp(
Names in the
__cpp expression are looked up in the C++ context of the
__asm function. Any names in the result of a
expression are mangled as required and automatically have
generated for them.