diff options
Diffstat (limited to 'gcc/doc/tm.texi')
-rw-r--r-- | gcc/doc/tm.texi | 49 |
1 files changed, 1 insertions, 48 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 1639e94..58d5bbd 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -10666,55 +10666,8 @@ rule to the makefile fragment pointed to by @code{tmake_file} that shows how to build this object file. @end deftypefun -@findex #pragma -@findex pragma -@defmac HANDLE_SYSV_PRAGMA -Define this macro (to a value of 1) if you want the System V style -pragmas @samp{#pragma pack(<n>)} and @samp{#pragma weak <name> -[=<value>]} to be supported by gcc. - -The pack pragma specifies the maximum alignment (in bytes) of fields -within a structure, in much the same way as the @samp{__aligned__} and -@samp{__packed__} @code{__attribute__}s do. A pack value of zero resets -the behavior to the default. - -A subtlety for Microsoft Visual C/C++ style bit-field packing -(e.g.@: -mms-bitfields) for targets that support it: -When a bit-field is inserted into a packed record, the whole size -of the underlying type is used by one or more same-size adjacent -bit-fields (that is, if its long:3, 32 bits is used in the record, -and any additional adjacent long bit-fields are packed into the same -chunk of 32 bits. However, if the size changes, a new field of that -size is allocated). - -If both MS bit-fields and @samp{__attribute__((packed))} are used, -the latter will take precedence. If @samp{__attribute__((packed))} is -used on a single field when MS bit-fields are in use, it will take -precedence for that field, but the alignment of the rest of the structure -may affect its placement. - -The weak pragma only works if @code{SUPPORTS_WEAK} and -@code{ASM_WEAKEN_LABEL} are defined. If enabled it allows the creation -of specifically named weak labels, optionally with a value. -@end defmac - -@findex #pragma -@findex pragma -@defmac HANDLE_PRAGMA_PACK_PUSH_POP -Define this macro (to a value of 1) if you want to support the Win32 -style pragmas @samp{#pragma pack(push[,@var{n}])} and @samp{#pragma -pack(pop)}. The @samp{pack(push,[@var{n}])} pragma specifies the maximum -alignment (in bytes) of fields within a structure, in much the same way as -the @samp{__aligned__} and @samp{__packed__} @code{__attribute__}s do. A -pack value of zero resets the behavior to the default. Successive -invocations of this pragma cause the previous values to be stacked, so -that invocations of @samp{#pragma pack(pop)} will return to the previous -value. -@end defmac - @defmac HANDLE_PRAGMA_PACK_WITH_EXPANSION -Define this macro, as well as -@code{HANDLE_SYSV_PRAGMA}, if macros should be expanded in the +Define this macro if macros should be expanded in the arguments of @samp{#pragma pack}. @end defmac |