[llvm-commits] [llvm-gcc-4.2] r54176 - in /llvm-gcc-4.2/trunk/gcc/doc: extend.texi invoke.texi tm.texi
Bill Wendling
isanbard at gmail.com
Tue Jul 29 15:15:27 PDT 2008
Author: void
Date: Tue Jul 29 17:15:27 2008
New Revision: 54176
URL: http://llvm.org/viewvc/llvm-project?rev=54176&view=rev
Log:
Syning with Apple GCC's 4.2.
Modified:
llvm-gcc-4.2/trunk/gcc/doc/extend.texi
llvm-gcc-4.2/trunk/gcc/doc/invoke.texi
llvm-gcc-4.2/trunk/gcc/doc/tm.texi
Modified: llvm-gcc-4.2/trunk/gcc/doc/extend.texi
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/doc/extend.texi?rev=54176&r1=54175&r2=54176&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/doc/extend.texi (original)
+++ llvm-gcc-4.2/trunk/gcc/doc/extend.texi Tue Jul 29 17:15:27 2008
@@ -1590,6 +1590,8 @@
attributes when making a declaration. This keyword is followed by an
attribute specification inside double parentheses. The following
attributes are currently defined for functions on all targets:
+ at c APPLE LOCAL mainline aligned functions 5933878
+ at code{aligned},
@code{noreturn}, @code{returns_twice}, @code{noinline}, @code{always_inline},
@c APPLE LOCAL nodebug
@code{nodebug},
@@ -1635,6 +1637,29 @@
Not all target machines support this attribute.
+ at c APPLE LOCAL begin mainline aligned functions 5933878
+ at item aligned (@var{alignment})
+ at cindex @code{aligned} attribute
+This attribute specifies a minimum alignment for the function,
+measured in bytes.
+
+You cannot use this attribute to decrease the alignment of a function,
+only to increase it. However, when you explicitly specify a function
+alignment this will override the effect of the
+ at option{-falign-functions} (@pxref{Optimize Options}) option for this
+function.
+
+Note that the effectiveness of @code{aligned} attributes may be
+limited by inherent limitations in your linker. On many systems, the
+linker is only able to arrange for functions to be aligned up to a
+certain maximum alignment. (For some linkers, the maximum supported
+alignment may be very very small.) See your linker documentation for
+further information.
+
+The @code{aligned} attribute can also be used for variables and fields
+(@pxref{Variable Attributes}.)
+ at c APPLE LOCAL end mainline aligned functions 5933878
+
@item always_inline
@cindex @code{always_inline} function attribute
Generally, functions are not inlined unless optimization is specified.
@@ -3190,6 +3215,11 @@
in an @code{__attribute__} will still only provide you with 8 byte
alignment. See your linker documentation for further information.
+ at c APPLE LOCAL begin aligned functions 5933878
+The @code{aligned} attribute can also be used for functions
+(@pxref{Function Attributes}.)
+ at c APPLE LOCAL end aligned functions 5933878
+
@item cleanup (@var{cleanup_function})
@cindex @code{cleanup} attribute
The @code{cleanup} attribute runs a function when the variable goes
@@ -3465,150 +3495,15 @@
addresses).
@end table
- at anchor{i386 Variable Attributes}
- at subsection i386 Variable Attributes
-
-Two attributes are currently defined for i386 configurations:
- at code{ms_struct} and @code{gcc_struct}
-
- at table @code
- at item ms_struct
- at itemx gcc_struct
- at cindex @code{ms_struct} attribute
- at cindex @code{gcc_struct} attribute
-
-If @code{packed} is used on a structure, or if bit-fields are used
-it may be that the Microsoft ABI packs them differently
-than GCC would normally pack them. Particularly when moving packed
-data between functions compiled with GCC and the native Microsoft compiler
-(either via function call or as data in a file), it may be necessary to access
-either format.
-
-Currently @option{-m[no-]ms-bitfields} is provided for the Microsoft Windows X86
-compilers to match the native Microsoft compiler.
-
-The Microsoft structure layout algorithm is fairly simple with the exception
-of the bitfield packing:
-
-The padding and alignment of members of structures and whether a bit field
-can straddle a storage-unit boundary
-
- at enumerate
- at item Structure members are stored sequentially in the order in which they are
-declared: the first member has the lowest memory address and the last member
-the highest.
-
- at item Every data object has an alignment-requirement. The alignment-requirement
-for all data except structures, unions, and arrays is either the size of the
-object or the current packing size (specified with either the aligned attribute
-or the pack pragma), whichever is less. For structures, unions, and arrays,
-the alignment-requirement is the largest alignment-requirement of its members.
-Every object is allocated an offset so that:
-
-offset % alignment-requirement == 0
-
- at item Adjacent bit fields are packed into the same 1-, 2-, or 4-byte allocation
-unit if the integral types are the same size and if the next bit field fits
-into the current allocation unit without crossing the boundary imposed by the
-common alignment requirements of the bit fields.
- at end enumerate
-
-Handling of zero-length bitfields:
-
-MSVC interprets zero-length bitfields in the following ways:
-
- at enumerate
- at item If a zero-length bitfield is inserted between two bitfields that would
-normally be coalesced, the bitfields will not be coalesced.
-
-For example:
-
- at smallexample
-struct
- @{
- unsigned long bf_1 : 12;
- unsigned long : 0;
- unsigned long bf_2 : 12;
- @} t1;
- at end smallexample
-
-The size of @code{t1} would be 8 bytes with the zero-length bitfield. If the
-zero-length bitfield were removed, @code{t1}'s size would be 4 bytes.
-
- at item If a zero-length bitfield is inserted after a bitfield, @code{foo}, and the
-alignment of the zero-length bitfield is greater than the member that follows it,
- at code{bar}, @code{bar} will be aligned as the type of the zero-length bitfield.
-
-For example:
-
- at smallexample
-struct
- @{
- char foo : 4;
- short : 0;
- char bar;
- @} t2;
-
-struct
- @{
- char foo : 4;
- short : 0;
- double bar;
- @} t3;
- at end smallexample
-
-For @code{t2}, @code{bar} will be placed at offset 2, rather than offset 1.
-Accordingly, the size of @code{t2} will be 4. For @code{t3}, the zero-length
-bitfield will not affect the alignment of @code{bar} or, as a result, the size
-of the structure.
-
-Taking this into account, it is important to note the following:
-
- at enumerate
- at item If a zero-length bitfield follows a normal bitfield, the type of the
-zero-length bitfield may affect the alignment of the structure as whole. For
-example, @code{t2} has a size of 4 bytes, since the zero-length bitfield follows a
-normal bitfield, and is of type short.
-
- at item Even if a zero-length bitfield is not followed by a normal bitfield, it may
-still affect the alignment of the structure:
-
- at smallexample
-struct
- @{
- char foo : 6;
- long : 0;
- @} t4;
- at end smallexample
-
-Here, @code{t4} will take up 4 bytes.
- at end enumerate
-
- at item Zero-length bitfields following non-bitfield members are ignored:
-
- at smallexample
-struct
- @{
- char foo;
- long : 0;
- char bar;
- @} t5;
- at end smallexample
-
-Here, @code{t5} will take up 2 bytes.
- at end enumerate
- at end table
-
+ at c APPLE LOCAL begin 5946347 ms_struct support
+ at anchor{PowerPC Variable Attributes}
@subsection PowerPC Variable Attributes
-Three attributes currently are defined for PowerPC configurations:
- at code{altivec}, @code{ms_struct} and @code{gcc_struct}.
-
-For full documentation of the struct attributes please see the
-documentation in the @xref{i386 Variable Attributes}, section.
+One is defined for PowerPC configurations: @code{altivec}.
-For documentation of @code{altivec} attribute please see the
+For documentation of the @code{altivec} attribute please see the
documentation in the @xref{PowerPC Type Attributes}, section.
+ at c APPLE LOCAL end 5946347 ms_struct support
@subsection SPU Variable Attributes
@@ -3924,28 +3819,28 @@
Otherwise the two shared objects will be unable to use the same
typeinfo node and exception handling will break.
- at subsection ARM Type Attributes
-
-On those ARM targets that support @code{dllimport} (such as Symbian
-OS), you can use the @code{notshared} attribute to indicate that the
-virtual table and other similar data for a class should not be
-exported from a DLL at . For example:
-
- at smallexample
-class __declspec(notshared) C @{
-public:
- __declspec(dllimport) C();
- virtual void f();
-@}
+ at c APPLE LOCAL begin weak types 5954418
+ at item weak
+In C++, attribute weak can be applied to a class to ensure that all
+non-hidden instances of the type are treated as the same type across
+shared library boundaries on platforms (such as darwin and arm aapcs)
+that can emit vtables and the type info meta data as non-comdat
+symbols. This is useful when the class has a key method and the
+translation unit that contains the key method is used in more than one
+shared library or in a shared library and the application. Doing this
+results in more expensive startup times. This attribute is inherited
+by subclasses, so it is only necessary to mark a base type. The
+typical use would be to mark any types used for throwing across shared
+library boundaries or those used in dynamic_cast operations across a
+shared library boundary.
+ at c APPLE LOCAL end weak types 5954418
-__declspec(dllexport)
-C::C() @{@}
- at end smallexample
+ at c APPLE LOCAL begin 5946347 ms_struct support
+ at end table
-In this code, @code{C::C} is exported from the current DLL, but the
-virtual table for @code{C} is not exported. (You can use
- at code{__attribute__} instead of @code{__declspec} if you prefer, but
-most Symbian OS code uses @code{__declspec}.)
+To specify multiple attributes, separate them by commas within the
+double parentheses: for example, @samp{__attribute__ ((aligned (16),
+packed))}.
@anchor{i386 Type Attributes}
@subsection i386 Type Attributes
@@ -3953,10 +3848,11 @@
Two attributes are currently defined for i386 configurations:
@code{ms_struct} and @code{gcc_struct}
+ at table @code
@item ms_struct
@itemx gcc_struct
- at cindex @code{ms_struct}
- at cindex @code{gcc_struct}
+ at cindex @code{ms_struct} attribute
+ at cindex @code{gcc_struct} attribute
If @code{packed} is used on a structure, or if bit-fields are used
it may be that the Microsoft ABI packs them differently
@@ -3967,11 +3863,149 @@
Currently @option{-m[no-]ms-bitfields} is provided for the Microsoft Windows X86
compilers to match the native Microsoft compiler.
+
+The Microsoft structure layout algorithm is fairly simple with the exception
+of the bitfield packing:
+
+The padding and alignment of members of structures and whether a bit field
+can straddle a storage-unit boundary
+
+ at enumerate
+ at item Structure members are stored sequentially in the order in which they are
+declared: the first member has the lowest memory address and the last member
+the highest.
+
+ at item Every data object has an alignment-requirement. The alignment-requirement
+for all data except structures, unions, and arrays is either the size of the
+object or the current packing size (specified with either the aligned attribute
+or the pack pragma), whichever is less. For structures, unions, and arrays,
+the alignment-requirement is the largest alignment-requirement of its members.
+Every object is allocated an offset so that:
+
+offset % alignment-requirement == 0
+
+ at item Adjacent bit fields are packed into the same 1-, 2-, or 4-byte allocation
+unit if the integral types are the same size and if the next bit field fits
+into the current allocation unit without crossing the boundary imposed by the
+common alignment requirements of the bit fields.
+ at end enumerate
+
+Handling of zero-length bitfields:
+
+MSVC interprets zero-length bitfields in the following ways:
+
+ at enumerate
+ at item If a zero-length bitfield is inserted between two bitfields that would
+normally be coalesced, the bitfields will not be coalesced.
+
+For example:
+
+ at smallexample
+struct
+ @{
+ unsigned long bf_1 : 12;
+ unsigned long : 0;
+ unsigned long bf_2 : 12;
+ @} t1;
+ at end smallexample
+
+The size of @code{t1} would be 8 bytes with the zero-length bitfield. If the
+zero-length bitfield were removed, @code{t1}'s size would be 4 bytes.
+
+ at item If a zero-length bitfield is inserted after a bitfield, @code{foo}, and the
+alignment of the zero-length bitfield is greater than the member that follows it,
+ at code{bar}, @code{bar} will be aligned as the type of the zero-length bitfield.
+
+For example:
+
+ at smallexample
+struct
+ @{
+ char foo : 4;
+ short : 0;
+ char bar;
+ @} t2;
+
+struct
+ @{
+ char foo : 4;
+ short : 0;
+ double bar;
+ @} t3;
+ at end smallexample
+
+For @code{t2}, @code{bar} will be placed at offset 2, rather than offset 1.
+Accordingly, the size of @code{t2} will be 4. For @code{t3}, the zero-length
+bitfield will not affect the alignment of @code{bar} or, as a result, the size
+of the structure.
+
+Taking this into account, it is important to note the following:
+
+ at enumerate
+ at item If a zero-length bitfield follows a normal bitfield, the type of the
+zero-length bitfield may affect the alignment of the structure as whole. For
+example, @code{t2} has a size of 4 bytes, since the zero-length bitfield follows a
+normal bitfield, and is of type short.
+
+ at item Even if a zero-length bitfield is not followed by a normal bitfield, it may
+still affect the alignment of the structure:
+
+ at smallexample
+struct
+ @{
+ char foo : 6;
+ long : 0;
+ @} t4;
+ at end smallexample
+
+Here, @code{t4} will take up 4 bytes.
+ at end enumerate
+
+ at item Zero-length bitfields following non-bitfield members are ignored:
+
+ at smallexample
+struct
+ @{
+ char foo;
+ long : 0;
+ char bar;
+ @} t5;
+ at end smallexample
+
+Here, @code{t5} will take up 2 bytes.
+ at end enumerate
@end table
-To specify multiple attributes, separate them by commas within the
-double parentheses: for example, @samp{__attribute__ ((aligned (16),
-packed))}.
+ at anchor{ARM Type Attributes}
+ at subsection ARM Type Attributes
+
+Two attributes currently are defined for ARM configurations:
+ at code{ms_struct} and @code{gcc_struct}.
+
+For full documentation of the struct attributes please see the
+documentation in the @xref{i386 Type Attributes}, section.
+
+On those ARM targets that support @code{dllimport} (such as Symbian
+OS), you can use the @code{notshared} attribute to indicate that the
+virtual table and other similar data for a class should not be
+exported from a DLL at . For example:
+
+ at smallexample
+class __declspec(notshared) C @{
+public:
+ __declspec(dllimport) C();
+ virtual void f();
+@}
+
+__declspec(dllexport)
+C::C() @{@}
+ at end smallexample
+
+In this code, @code{C::C} is exported from the current DLL, but the
+virtual table for @code{C} is not exported. (You can use
+ at code{__attribute__} instead of @code{__declspec} if you prefer, but
+most Symbian OS code uses @code{__declspec}.)
+ at c APPLE LOCAL end 5946347 ms_struct support
@anchor{PowerPC Type Attributes}
@subsection PowerPC Type Attributes
Modified: llvm-gcc-4.2/trunk/gcc/doc/invoke.texi
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/doc/invoke.texi?rev=54176&r1=54175&r2=54176&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/doc/invoke.texi (original)
+++ llvm-gcc-4.2/trunk/gcc/doc/invoke.texi Tue Jul 29 17:15:27 2008
@@ -216,6 +216,10 @@
-Wnewline-eof (APPLE ONLY) @gol
@c APPLE LOCAL -Wno-altivec-long-deprecated --ilr **
-Wno-altivec-long-deprecated (APPLE ONLY)
+ at c APPLE LOCAL begin 5695218
+-fglobal-alloc-prefer-bytes (APPLE ONLY)
+-fno-global-alloc-prefer-bytes (APPLE ONLY)
+ at c APPLE LOCAL end 5695218
@c APPLE LOCAL fwritable strings
-funsigned-bitfields -funsigned-char -fwritable-strings}
@@ -378,7 +382,11 @@
-fcrossjumping -fif-conversion -fif-conversion2 @gol
-finline-functions -finline-functions-called-once @gol
-finline-limit=@var{n} -fkeep-inline-functions @gol
--fkeep-static-consts -fmerge-constants -fmerge-all-constants @gol
+ at c APPLE LOCAL begin ARM conditionally disable local RA
+-fkeep-static-consts @gol
+-flocal-alloc (APPLE ONLY) @gol
+-fmerge-constants -fmerge-all-constants @gol
+ at c APPLE LOCAL end ARM conditionally disable local RA
-fmodulo-sched -fno-branch-count-reg @gol
-fno-default-inline -fno-defer-pop -fmove-loop-invariants @gol
-fno-function-cse -fno-guess-branch-probability @gol
@@ -428,6 +436,8 @@
-iprefix @var{file} -iwithprefix @var{dir} @gol
-iwithprefixbefore @var{dir} -isystem @var{dir} @gol
-imultilib @var{dir} -isysroot @var{dir} @gol
+ at c APPLE LOCAL ARM iwithsysroot 4917039
+-iwithsysroot (APPLE ONLY) @var{dir} @gol
-M -MM -MF -MG -MP -MQ -MT -nostdinc @gol
-P -fworking-directory -remap @gol
-trigraphs -undef -U at var{macro} -Wp, at var{option} @gol
@@ -492,7 +502,10 @@
-mthumb -marm @gol
-mtpcs-frame -mtpcs-leaf-frame @gol
-mcaller-super-interworking -mcallee-super-interworking @gol
--mtp=@var{name}}
+ at c APPLE LOCAL begin 5946347 ms_struct support
+-mtp=@var{name} @gol
+-mms-bitfields -mno-ms-bitfields}
+ at c APPLE LOCAL end 5946347 ms_struct support
@c APPLE LOCAL ARM prune man page
@ignore
@@ -547,6 +560,8 @@
-twolevel_namespace -umbrella -undefined @gol
-unexported_symbols_list -weak_reference_mismatches @gol
-whatsloaded -F -gused -gfull -mmacosx-version-min=@var{version} @gol
+ at c APPLE LOCAL ARM 5905142
+-miphoneos-version-min=@var{version} @gol
@c APPLE LOCAL pascal strings
-mpascal-strings (APPLE ONLY) @gol
@c APPLE LOCAL begin fat builds
@@ -628,7 +643,10 @@
-mstackrealign @gol
-momit-leaf-frame-pointer -mno-red-zone -mno-tls-direct-seg-refs @gol
-mcmodel=@var{code-model} @gol
--m32 -m64 -mlarge-data-threshold=@var{num}}
+ at c APPLE LOCAL begin 5946347 ms_struct support
+-m32 -m64 -mlarge-data-threshold=@var{num} @gol
+-mms-bitfields -mno-ms-bitfields}
+ at c APPLE LOCAL end 5946347 ms_struct support
@c APPLE LOCAL prune man page
@ignore
@@ -777,7 +795,10 @@
-mfloat-gprs=yes -mfloat-gprs=no -mfloat-gprs=single -mfloat-gprs=double @gol
-mprototype -mno-prototype @gol
-msim -mmvme -mads -myellowknife -memb -msdata @gol
--msdata=@var{opt} -mvxworks -mwindiss -G @var{num} -pthread}
+ at c APPLE LOCAL begin 5946347 ms_struct support
+-msdata=@var{opt} -mvxworks -mwindiss -G @var{num} -pthread @gol
+-mms-bitfields -mno-ms-bitfields}
+ at c APPLE LOCAL end 5946347 ms_struct support
@c APPLE LOCAL prune man page
@ignore
@@ -973,12 +994,9 @@
the last two letters must both be literally @samp{x}. Likewise,
@samp{.C} refers to a literal capital C at .
- at item @var{file}.mm
- at itemx @var{file}.M
-Objective-C++ source code which must be preprocessed.
-
- at item @var{file}.mii
-Objective-C++ source code which should not be preprocessed.
+ at c APPLE LOCAL begin Objective-C++
+ at c Delete duplicate @var{file}.mm, @var{file}.M, @var{file}.mii.
+ at c APPLE LOCAL end Objective-C++
@item @var{file}.hh
@itemx @var{file}.H
@@ -1644,6 +1662,18 @@
(default behavior)
@c APPLE LOCAL end radar 3506309
+ at c APPLE LOCAL begin 5695218
+ at item -fglobal-alloc-prefer-bytes
+ at item -fno-global-alloc-prefer-bytes
+ at opindex fglobal-alloc-prefer-bytes
+For the x86_32 architecture, prefer byte or short values to word
+values during global register allocation. Some of the registers on
+this target can't be used with values smaller than a 32-bit word;
+allocating these values earlier increases the chance they will get a
+byte-capable (or short-capable) register. Ignored for other targets.
+Defaults on with global register allocation (@code{-Os}, @code{-O2},
+or @code{-O3}). (APPLE ONLY)
+ at c APPLE LOCAL end 5695218
@c APPLE LOCAL begin fwritable strings.
@item -fwritable-strings
@opindex fwritable-strings
@@ -5349,6 +5379,16 @@
check if the variable was referenced, regardless of whether or not
optimization is turned on, use the @option{-fno-keep-static-consts} option.
+ at c APPLE LOCAL begin ARM conditionally disable local RA
+ at item -flocal-alloc
+(APPLE ONLY) Enable the local (intra-basic-block) register allocator.
+
+GCC enables this option by default. If you want to force the compiler to
+supress register allocation within a basic block, use the
+ at option{-fno-local-alloc} option. This option cannot be disabled with
+ at option{-O0}, for correctness reasons.
+ at c APPLE LOCAL end ARM conditionally disable local RA
+
@item -fmerge-constants
Attempt to merge identical constants (string constants and floating point
constants) across compilation units.
@@ -7357,6 +7397,14 @@
If you really need to change the search order for system directories,
use the @option{-nostdinc} and/or @option{-isystem} options.
+ at c APPLE LOCAL begin ARM iwithsysroot 4917039
+The option @option{-iwithsysroot} (APPLE ONLY), if specified with an
+absolute path, will prepend the system root directory (if applicable) to
+the path and add it to the beginning of the system search paths. If
+specified with a relative path, @option{-iwithsysroot} will behave
+identically to @option{-isystem}.
+ at c APPLE LOCAL end ARM iwithsysroot 4917039
+
@item -iquote at var{dir}
@opindex iquote
Add the directory @var{dir} to the head of the list of directories to
@@ -8468,6 +8516,15 @@
best available method for the selected processor. The default setting is
@option{auto}.
+ at c APPLE LOCAL begin 5946347 ms_struct support
+ at item -mms-bitfields
+ at opindex mms-bitfields
+Set the default structure layout to be compatible with the Microsoft
+compiler standard. This is equivalent to adding an @code{ms_struct}
+attribute to each structure and union tag definition. The default is
+ at option{mno-ms-bitfields}.
+ at c APPLE LOCAL end 5946347 ms_struct support
+
@end table
@c APPLE LOCAL ARM prune man page
@@ -8863,6 +8920,13 @@
is @var{version}. Typical values of @var{version} include @code{10.1},
@code{10.2}, and @code{10.3.9}.
+ at c APPLE LOCAL begin ARM 5905142
+This value can also be set with the @env{MACOSX_DEPLOYMENT_TARGET}
+environment variable. If both the command-line option is specified
+and the environment variable is set, the command-line option will
+take precedence.
+ at c APPLE LOCAL end ARM 5905142
+
@c APPLE LOCAL begin mainline 2007-06-14 5235474
If the compiler was built to use the system's headers by default,
then the default for this option is the system version on which the
@@ -8870,6 +8934,22 @@
are compatible with as many systems and code bases as possible.
@c APPLE LOCAL end mainline 2007-06-14 5235474
+ at c APPLE LOCAL begin ARM 5905142
+This value is not set by default for ARM targets.
+
+ at item -miphoneos-version-min=@var{version}
+The earliest version of iPhone OS that this executable will run on
+is @var{version}.
+
+This value can also be set with the @env{IPHONEOS_DEPLOYMENT_TARGET}
+environment variable. If both the command-line option is specified
+and the environment variable is set, the command-line option will
+take precedence.
+
+On ARM targets, if not specified by the command-line option or
+environment variable, this value defaults to 2.0.
+ at c APPLE LOCAL end ARM 5905142
+
@item -mkernel
@opindex mkernel
Enable kernel development mode. The @option{-mkernel} option sets
@@ -10559,6 +10639,16 @@
Generate code for the large model: This model makes no assumptions
about addresses and sizes of sections. Currently GCC does not implement
this model.
+
+ at c APPLE LOCAL begin 5946347 ms_struct support
+ at item -mms-bitfields
+ at opindex mms-bitfields
+Set the default structure layout to be compatible with the Microsoft
+compiler standard. This is equivalent to adding an @code{ms_struct}
+attribute to each structure and union tag definition. The default is
+ at option{mno-ms-bitfields}.
+ at c APPLE LOCAL end 5946347 ms_struct support
+
@end table
@c APPLE LOCAL prune man page
@@ -12896,6 +12986,15 @@
Adds support for multithreading with the @dfn{pthreads} library.
This option sets flags for both the preprocessor and linker.
+ at c APPLE LOCAL begin 5946347 ms_struct support
+ at item -mms-bitfields
+ at opindex mms-bitfields
+Set the default structure layout to be compatible with the Microsoft
+compiler standard. This is equivalent to adding an @code{ms_struct}
+attribute to each structure and union tag definition. The default is
+ at option{mno-ms-bitfields}.
+ at c APPLE LOCAL end 5946347 ms_struct support
+
@end table
@c APPLE LOCAL prune man page
@@ -14746,6 +14845,21 @@
If @env{LANG} is not defined, or if it has some other value, then the
compiler will use mblen and mbtowc as defined by the default locale to
recognize and translate multibyte characters.
+
+ at c APPLE LOCAL begin ARM 5905142
+ at item MACOSX_DEPLOYMENT_TARGET
+ at itemx IPHONEOS_DEPLOYMENT_TARGET
+These variables are used to set the target OS version, as described
+for command-line options @option{-mmacosx-version-min} and
+ at option{-miphoneos-version-min}. Only one OS version can be specified
+per architecture, with @env{MACOSX_DEPLOYMENT_TARGET} taking precedence
+on non-ARM targets and @env{IPHONEOS_DEPLOYMENT_TARGET} taking
+precedence on ARM targets.
+
+If either command-line option @option{-mmacosx-version-min} or
+ at option{-miphoneos-version-min} is specified, both of these
+environment variables are ignored.
+ at c APPLE LOCAL end ARM 5905142
@end table
@noindent
Modified: llvm-gcc-4.2/trunk/gcc/doc/tm.texi
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/doc/tm.texi?rev=54176&r1=54175&r2=54176&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/doc/tm.texi (original)
+++ llvm-gcc-4.2/trunk/gcc/doc/tm.texi Tue Jul 29 17:15:27 2008
@@ -1050,6 +1050,31 @@
Biggest alignment that any data type can require on this machine, in bits.
@end defmac
+ at c APPLE LOCAL begin 5946347 ms_struct support
+ at defmac BIGGEST_MS_STRUCT_ALIGNMENT
+Define this macro if the target supports Microsoft structure alignment
+(@code{TARGET_MS_BITFIELD_LAYOUT_P}) and the target definition of
+BIGGEST_ALIGNMENT is smaller than is needed for ms_struct records. It should
+defined as the largest field alignment required by the target for Microsoft
+aligned structure fields.
+
+By default, @code{BIGGEST_MS_STRUCT_ALIGNMENT} is defined to be equivalent to
+ at code{BIGGEST_ALIGNMENT}.
+ at end defmac
+
+ at defmac TARGET_FIELD_MS_STRUCT_ALIGN
+Define this macro if the target supports Microsoft structure alignment
+(@code{TARGET_MS_BITFIELD_LAYOUT_P}) and the standard type alignment
+of non-aggregate types is not sufficient for the MS structure alignment rules.
+
+The @code{TARGET_FIELD_MS_STRUCT_ALIGN} macro should return the alignment required
+for the field passed as its argument.
+
+By default, the type alignment of the field will be used, i.e.,
+ at code{TYPE_ALIGN (TREE_TYPE (FIELD))}.
+ at end defmac
+ at c APPLE LOCAL end 5946347 ms_struct support
+
@defmac MINIMUM_ATOMIC_ALIGNMENT
If defined, the smallest alignment, in bits, that can be given to an
object that can be referenced in one operation, without disturbing any
More information about the llvm-commits
mailing list