re PR other/48179 (Reference mismatch in documentation chapter 6)

2011-03-23  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.

From-SVN: r171359
This commit is contained in:
Jonathan Wakely 2011-03-23 19:52:13 +00:00 committed by Jonathan Wakely
parent 0c617be487
commit 2be478a239
3 changed files with 124 additions and 115 deletions

View File

@ -1,3 +1,12 @@
2011-03-23 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.
2011-03-23 Jeff Law <law@redhat.com>
* cfg.c (redirect_edge_succ_nodup): Duplicate the varm map

View File

@ -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

View File

@ -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
@ -604,6 +604,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 @gol
-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
@ -892,11 +897,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 @gol
-mnop-fun-dllimport -mthread @gol
-municode -mwin32 -mwindows -fno-set-stack-executable}
@emph{Xstormy16 Options}
@gccoptlist{-msim}
@ -3038,7 +3038,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.
@ -12717,6 +12717,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
@ -17382,78 +17454,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