[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