A.1.2. Includes section and resources section code

Macro expansion is enabled in Includes section and Resources section code. The preprocessor code in these sections has very special semantics since all preprocessor statements are processed twice:

  1. During the first pass, the LISA+ code is processed by the LISA+ preprocessor and all preprocessor statements in these sections, and only in these sections, appear unmodified in the generated source code

  2. The C++ compiler processes the preprocessor statements.

The two-stage processing has the following implications:

The intended use of the includes section is to place #include and #define statements in this sections to make their declarations visible in the behavior code.

ARM recommends that the resources section does not contain any #includes statements to ensure compatibility with future implementations.

Copyright © 2007-2010 ARM Limited. All rights reserved.ARM DUI 0372I
Non-Confidential