5.1.1 #pragma _KAP arl <integer>

This is the assertion form of the /addressresolution command qualifier. You can use it to specify, on a function- by-function basis, the degree of data aliasing in a program. Aliasing is the use of multiple names including pointers to refer to the same memory location. This is often a useful technique, but it complicates data dependence analysis and can reduce the opportunities for optimization. You can use this pragma to tell KAP how cautious to be about multiple names affecting the same object.

The levels are cumulative - the assumptions made at one level include the assumptions made at earlier levels. The permitted values are as follows:

See Chapter 4, the description of the /addressresolution qualifier, for a detailed description of the meaning of each level.

When this pragma appears within a function between the outer { and } of the function definition, it applies only to that function. When this pragma appears elsewhere, it applies to all functions following it in the source file. Placing a pragma within a function overrides (for that function) the global pragma or command qualifier, so different values can be used in different parts of a program. The /addressresolution command qualifier acts like an assertion at the beginning of the source file, and can be overridden by #pragma _KAP arl assertions later in the file.

See also the #pragma _KAP distinct assertion (Section 5.1.2) that can be used to specify specific pairs of variables that are not aliased.


Previous Page Next Page Contents Index
Command-Line Qualifiers