Technical data
#pragma Directives [3]
#pragma _CRI duplicate derivspeed as accel
/* Error: derivspeed is not defined */
static void endtime(void)
{
}
#pragma _CRI duplicate endtime as limit
/* Error: endtime is defined as a static function */
Because duplicate names are simply additional names for functions and are
not functions themselves, they cannot be declared or defined anywhere in the
compilation unit. To avoid aliasing problems, duplicate names may not be
referenced anywhere within the source file, including appearances on other
directives. In other words, duplicate names may only be referenced from outside
the compilation unit in which they are defined.
The following example references duplicate names:
void converter(void)
{
structured(void);
}
#pragma _CRI duplicate converter as factor, multiplier /* OK */
void remainder(void)
{
}
#pragma _CRI duplicate remainder as factor, structured
/* Error: factor and structured are referenced in this file */
Duplicate names can be used to provide alternate external names for functions,
as shown in the following examples.
S–2179–36 51










