English
Language : 

AN3350 Datasheet, PDF (114/185 Pages) STMicroelectronics – eTPU compiler tools
Declaration specifications
14 Declaration specifications
AN3350
Declaration specifications describe special properties to associate with a function or
variable at compile time. You insert these specifications in the object’s declaration.
● Syntax for declaration specifications
● __declspec(never_inline)
14.1
Syntax for declaration specifications
The syntax for a declaration specification is
__declspec(spec [ options ]) function-declaration;
where spec is the declaration specification, options represents possible arguments for the
declaration specification, and function-declaration represents the declaration of the function.
Unless otherwise specified in the declaration specification’s description, a function’s
definition does not require a declaration specification.
14.2
__declspec(never_inline)
Specifies that a function must not be inlined.
Syntax
__declspec (never_inline) function_prototype;
Remarks
Declaring a function’s prototype with this declaration specification tells the compiler not to
inline the function, even if the function is later defined with the inline, __inline__, or
__inline keywords.
14.3
Syntax for attribute specifications
The syntax for an attribute specification is
__attribute__((list-of-attributes))
where list-of-attributes is a comma-separated list of zero or more attributes to associate with
the object. Place an attribute specification at the end of the delcaration and definition of a
function, function parameter, or variable. Example 70 shows an example.
Example 70 Example of an attribute specification
int f(int x __attribute__((unused))) __attribute__((never_inline));
int f(int x __attribute__((unused))) __attribute__((never_inline))
{
return 20;
}
114/185
Doc ID 018512 Rev 2