314 lines
11 KiB
Diff
314 lines
11 KiB
Diff
Upstream-Status: Inappropriate [Backport]
|
|
From e2965db317ee7efd916963c87b9c34023eefda54 Mon Sep 17 00:00:00 2001
|
|
From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
|
|
Date: Sun, 27 Mar 2011 20:08:35 +0000
|
|
Subject: [PATCH 012/200] 2011-03-27 Jonathan Wakely <jwakely.gcc@gmail.com>
|
|
|
|
PR other/48179
|
|
PR other/48221
|
|
PR other/48234
|
|
* doc/extend.texi (Alignment): Move section to match order in TOC.
|
|
* doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
|
|
(Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
|
|
|
|
|
|
|
|
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171581 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
index c897101..998d703 100644
|
|
--- a/gcc/doc/extend.texi
|
|
+++ b/gcc/doc/extend.texi
|
|
@@ -4180,42 +4180,6 @@ machines, typically because the target assembler does not allow them.
|
|
You can use the sequence @samp{\e} in a string or character constant to
|
|
stand for the ASCII character @key{ESC}.
|
|
|
|
-@node Alignment
|
|
-@section Inquiring on Alignment of Types or Variables
|
|
-@cindex alignment
|
|
-@cindex type alignment
|
|
-@cindex variable alignment
|
|
-
|
|
-The keyword @code{__alignof__} allows you to inquire about how an object
|
|
-is aligned, or the minimum alignment usually required by a type. Its
|
|
-syntax is just like @code{sizeof}.
|
|
-
|
|
-For example, if the target machine requires a @code{double} value to be
|
|
-aligned on an 8-byte boundary, then @code{__alignof__ (double)} is 8.
|
|
-This is true on many RISC machines. On more traditional machine
|
|
-designs, @code{__alignof__ (double)} is 4 or even 2.
|
|
-
|
|
-Some machines never actually require alignment; they allow reference to any
|
|
-data type even at an odd address. For these machines, @code{__alignof__}
|
|
-reports the smallest alignment that GCC will give the data type, usually as
|
|
-mandated by the target ABI.
|
|
-
|
|
-If the operand of @code{__alignof__} is an lvalue rather than a type,
|
|
-its value is the required alignment for its type, taking into account
|
|
-any minimum alignment specified with GCC's @code{__attribute__}
|
|
-extension (@pxref{Variable Attributes}). For example, after this
|
|
-declaration:
|
|
-
|
|
-@smallexample
|
|
-struct foo @{ int x; char y; @} foo1;
|
|
-@end smallexample
|
|
-
|
|
-@noindent
|
|
-the value of @code{__alignof__ (foo1.y)} is 1, even though its actual
|
|
-alignment is probably 2 or 4, the same as @code{__alignof__ (int)}.
|
|
-
|
|
-It is an error to ask for the alignment of an incomplete type.
|
|
-
|
|
@node Variable Attributes
|
|
@section Specifying Attributes of Variables
|
|
@cindex attribute of variables
|
|
@@ -5224,6 +5188,42 @@ allows one to declare vector data types supported by the Sony/Toshiba/IBM SPU
|
|
Language Extensions Specification. It is intended to support the
|
|
@code{__vector} keyword.
|
|
|
|
+@node Alignment
|
|
+@section Inquiring on Alignment of Types or Variables
|
|
+@cindex alignment
|
|
+@cindex type alignment
|
|
+@cindex variable alignment
|
|
+
|
|
+The keyword @code{__alignof__} allows you to inquire about how an object
|
|
+is aligned, or the minimum alignment usually required by a type. Its
|
|
+syntax is just like @code{sizeof}.
|
|
+
|
|
+For example, if the target machine requires a @code{double} value to be
|
|
+aligned on an 8-byte boundary, then @code{__alignof__ (double)} is 8.
|
|
+This is true on many RISC machines. On more traditional machine
|
|
+designs, @code{__alignof__ (double)} is 4 or even 2.
|
|
+
|
|
+Some machines never actually require alignment; they allow reference to any
|
|
+data type even at an odd address. For these machines, @code{__alignof__}
|
|
+reports the smallest alignment that GCC will give the data type, usually as
|
|
+mandated by the target ABI.
|
|
+
|
|
+If the operand of @code{__alignof__} is an lvalue rather than a type,
|
|
+its value is the required alignment for its type, taking into account
|
|
+any minimum alignment specified with GCC's @code{__attribute__}
|
|
+extension (@pxref{Variable Attributes}). For example, after this
|
|
+declaration:
|
|
+
|
|
+@smallexample
|
|
+struct foo @{ int x; char y; @} foo1;
|
|
+@end smallexample
|
|
+
|
|
+@noindent
|
|
+the value of @code{__alignof__ (foo1.y)} is 1, even though its actual
|
|
+alignment is probably 2 or 4, the same as @code{__alignof__ (int)}.
|
|
+
|
|
+It is an error to ask for the alignment of an incomplete type.
|
|
+
|
|
|
|
@node Inline
|
|
@section An Inline Function is As Fast As a Macro
|
|
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
|
|
index f4cdf66..5478f79 100644
|
|
--- a/gcc/doc/invoke.texi
|
|
+++ b/gcc/doc/invoke.texi
|
|
@@ -237,7 +237,7 @@ Objective-C and Objective-C++ Dialects}.
|
|
-Wno-attributes -Wno-builtin-macro-redefined @gol
|
|
-Wc++-compat -Wc++0x-compat -Wcast-align -Wcast-qual @gol
|
|
-Wchar-subscripts -Wclobbered -Wcomment @gol
|
|
--Wconversion -Wcoverage-mismatch -Wcpp -Wno-deprecated @gol
|
|
+-Wconversion -Wcoverage-mismatch -Wno-cpp -Wno-deprecated @gol
|
|
-Wno-deprecated-declarations -Wdisabled-optimization @gol
|
|
-Wno-div-by-zero -Wdouble-promotion -Wempty-body -Wenum-compare @gol
|
|
-Wno-endif-labels -Werror -Werror=* @gol
|
|
@@ -613,6 +613,11 @@ Objective-C and Objective-C++ Dialects}.
|
|
-m32 -m64 -mlarge-data-threshold=@var{num} @gol
|
|
-msse2avx -mfentry -m8bit-idiv}
|
|
|
|
+@emph{i386 and x86-64 Windows Options}
|
|
+@gccoptlist{-mconsole -mcygwin -mno-cygwin -mdll
|
|
+-mnop-fun-dllimport -mthread @gol
|
|
+-municode -mwin32 -mwindows -fno-set-stack-executable}
|
|
+
|
|
@emph{IA-64 Options}
|
|
@gccoptlist{-mbig-endian -mlittle-endian -mgnu-as -mgnu-ld -mno-pic @gol
|
|
-mvolatile-asm-stop -mregister-names -msdata -mno-sdata @gol
|
|
@@ -906,11 +911,6 @@ See RS/6000 and PowerPC Options.
|
|
@emph{x86-64 Options}
|
|
See i386 and x86-64 Options.
|
|
|
|
-@emph{i386 and x86-64 Windows Options}
|
|
-@gccoptlist{-mconsole -mcygwin -mno-cygwin -mdll
|
|
--mnop-fun-dllimport -mthread @gol
|
|
--municode -mwin32 -mwindows -fno-set-stack-executable}
|
|
-
|
|
@emph{Xstormy16 Options}
|
|
@gccoptlist{-msim}
|
|
|
|
@@ -3045,7 +3045,7 @@ Warn whenever a comment-start sequence @samp{/*} appears in a @samp{/*}
|
|
comment, or whenever a Backslash-Newline appears in a @samp{//} comment.
|
|
This warning is enabled by @option{-Wall}.
|
|
|
|
-@item -Wno-cpp \
|
|
+@item -Wno-cpp
|
|
@r{(C, Objective-C, C++, Objective-C++ and Fortran only)}
|
|
|
|
Suppress warning messages emitted by @code{#warning} directives.
|
|
@@ -12815,6 +12815,78 @@ Generate code for the large model: This model makes no assumptions
|
|
about addresses and sizes of sections.
|
|
@end table
|
|
|
|
+@node i386 and x86-64 Windows Options
|
|
+@subsection i386 and x86-64 Windows Options
|
|
+@cindex i386 and x86-64 Windows Options
|
|
+
|
|
+These additional options are available for Windows targets:
|
|
+
|
|
+@table @gcctabopt
|
|
+@item -mconsole
|
|
+@opindex mconsole
|
|
+This option is available for Cygwin and MinGW targets. It
|
|
+specifies that a console application is to be generated, by
|
|
+instructing the linker to set the PE header subsystem type
|
|
+required for console applications.
|
|
+This is the default behavior for Cygwin and MinGW targets.
|
|
+
|
|
+@item -mdll
|
|
+@opindex mdll
|
|
+This option is available for Cygwin and MinGW targets. It
|
|
+specifies that a DLL - a dynamic link library - is to be
|
|
+generated, enabling the selection of the required runtime
|
|
+startup object and entry point.
|
|
+
|
|
+@item -mnop-fun-dllimport
|
|
+@opindex mnop-fun-dllimport
|
|
+This option is available for Cygwin and MinGW targets. It
|
|
+specifies that the dllimport attribute should be ignored.
|
|
+
|
|
+@item -mthread
|
|
+@opindex mthread
|
|
+This option is available for MinGW targets. It specifies
|
|
+that MinGW-specific thread support is to be used.
|
|
+
|
|
+@item -municode
|
|
+@opindex municode
|
|
+This option is available for mingw-w64 targets. It specifies
|
|
+that the UNICODE macro is getting pre-defined and that the
|
|
+unicode capable runtime startup code is chosen.
|
|
+
|
|
+@item -mwin32
|
|
+@opindex mwin32
|
|
+This option is available for Cygwin and MinGW targets. It
|
|
+specifies that the typical Windows pre-defined macros are to
|
|
+be set in the pre-processor, but does not influence the choice
|
|
+of runtime library/startup code.
|
|
+
|
|
+@item -mwindows
|
|
+@opindex mwindows
|
|
+This option is available for Cygwin and MinGW targets. It
|
|
+specifies that a GUI application is to be generated by
|
|
+instructing the linker to set the PE header subsystem type
|
|
+appropriately.
|
|
+
|
|
+@item -fno-set-stack-executable
|
|
+@opindex fno-set-stack-executable
|
|
+This option is available for MinGW targets. It specifies that
|
|
+the executable flag for stack used by nested functions isn't
|
|
+set. This is necessary for binaries running in kernel mode of
|
|
+Windows, as there the user32 API, which is used to set executable
|
|
+privileges, isn't available.
|
|
+
|
|
+@item -mpe-aligned-commons
|
|
+@opindex mpe-aligned-commons
|
|
+This option is available for Cygwin and MinGW targets. It
|
|
+specifies that the GNU extension to the PE file format that
|
|
+permits the correct alignment of COMMON variables should be
|
|
+used when generating code. It will be enabled by default if
|
|
+GCC detects that the target assembler found during configuration
|
|
+supports the feature.
|
|
+@end table
|
|
+
|
|
+See also under @ref{i386 and x86-64 Options} for standard options.
|
|
+
|
|
@node IA-64 Options
|
|
@subsection IA-64 Options
|
|
@cindex IA-64 Options
|
|
@@ -17541,78 +17613,6 @@ is defined for compatibility with Diab.
|
|
|
|
These are listed under @xref{i386 and x86-64 Options}.
|
|
|
|
-@node i386 and x86-64 Windows Options
|
|
-@subsection i386 and x86-64 Windows Options
|
|
-@cindex i386 and x86-64 Windows Options
|
|
-
|
|
-These additional options are available for Windows targets:
|
|
-
|
|
-@table @gcctabopt
|
|
-@item -mconsole
|
|
-@opindex mconsole
|
|
-This option is available for Cygwin and MinGW targets. It
|
|
-specifies that a console application is to be generated, by
|
|
-instructing the linker to set the PE header subsystem type
|
|
-required for console applications.
|
|
-This is the default behavior for Cygwin and MinGW targets.
|
|
-
|
|
-@item -mdll
|
|
-@opindex mdll
|
|
-This option is available for Cygwin and MinGW targets. It
|
|
-specifies that a DLL - a dynamic link library - is to be
|
|
-generated, enabling the selection of the required runtime
|
|
-startup object and entry point.
|
|
-
|
|
-@item -mnop-fun-dllimport
|
|
-@opindex mnop-fun-dllimport
|
|
-This option is available for Cygwin and MinGW targets. It
|
|
-specifies that the dllimport attribute should be ignored.
|
|
-
|
|
-@item -mthread
|
|
-@opindex mthread
|
|
-This option is available for MinGW targets. It specifies
|
|
-that MinGW-specific thread support is to be used.
|
|
-
|
|
-@item -municode
|
|
-@opindex municode
|
|
-This option is available for mingw-w64 targets. It specifies
|
|
-that the UNICODE macro is getting pre-defined and that the
|
|
-unicode capable runtime startup code is chosen.
|
|
-
|
|
-@item -mwin32
|
|
-@opindex mwin32
|
|
-This option is available for Cygwin and MinGW targets. It
|
|
-specifies that the typical Windows pre-defined macros are to
|
|
-be set in the pre-processor, but does not influence the choice
|
|
-of runtime library/startup code.
|
|
-
|
|
-@item -mwindows
|
|
-@opindex mwindows
|
|
-This option is available for Cygwin and MinGW targets. It
|
|
-specifies that a GUI application is to be generated by
|
|
-instructing the linker to set the PE header subsystem type
|
|
-appropriately.
|
|
-
|
|
-@item -fno-set-stack-executable
|
|
-@opindex fno-set-stack-executable
|
|
-This option is available for MinGW targets. It specifies that
|
|
-the executable flag for stack used by nested functions isn't
|
|
-set. This is necessary for binaries running in kernel mode of
|
|
-Windows, as there the user32 API, which is used to set executable
|
|
-privileges, isn't available.
|
|
-
|
|
-@item -mpe-aligned-commons
|
|
-@opindex mpe-aligned-commons
|
|
-This option is available for Cygwin and MinGW targets. It
|
|
-specifies that the GNU extension to the PE file format that
|
|
-permits the correct alignment of COMMON variables should be
|
|
-used when generating code. It will be enabled by default if
|
|
-GCC detects that the target assembler found during configuration
|
|
-supports the feature.
|
|
-@end table
|
|
-
|
|
-See also under @ref{i386 and x86-64 Options} for standard options.
|
|
-
|
|
@node Xstormy16 Options
|
|
@subsection Xstormy16 Options
|
|
@cindex Xstormy16 Options
|
|
--
|
|
1.7.0.4
|
|
|