3.9. Preprocessor Expressions
Preprocessor expressions can contain the operators listed in Table 3.3.
Preprocessor expressions have precedence, associativity, and behavior matching the standard C preprocessor.
Preprocessor expressions can be executed on the processor running the compiler and not on the graphics processor that executes the shader. Precision is allowed to be this host processor's precision and hence will likely be different from the precision available when expressions are executed in the core language.
As with the core language, string types and operations are not provided. None of the hash-based operators (#, ##, etc.) are provided, nor is a preprocessor sizeof operator.