Pragmas are not part of any C++ standard.
The various forms of a CC pragma are:
#pragma keyword #pragma keyword ( a [ , a ] ) [ , keyword ( a [ , a ] ... ) ] ,... #pragma sun keyword
The variable keyword identifies the specific directive; a indicates an argument.
The pragma keywords recognized by CC are:
-align - Makes the parameter variables memory-aligned to a specified number of bytes, overriding the default.
init - Marks a specified function as an initialization function.
fini - Marks a specified function as a finalization function.
ident - Places a specified string in the .comment section of the executable.
pack (n) - Controls the layout of structure offsets. The value of n is a number--0, 1, 2, 4, or 8--that specifies the worst-case alignment desired for any structure member.
unknown_control_flow - Specifies a list of routines that violate the usual control flow properties of procedure calls.
weak - Defines weak symbol bindings.