gcc50: Upgrade to GCC 5.1 release candidate plus

Operating Systems / DragonFlyBSD - John Marino [marino.st] - 17 April 2015 05:57 UTC

while here:
- remove 4+ Mb of unused texi files from contrib
- update the 3 man pages from Release candidate
- Change makefiles to not take man pages from contrib directory

After thinking about it, I've decided to continue to update GCC from Subversion sources rather than limit updates to designated releases. This is the reason the man pages are not taken from contrib; they are only present in actual releases and not the SVN repository. The plan is to only update the man pages when GCC minor version is released.

This is the first (and likely only) release candidate for GCC5. It will be known as gcc 5.1.0, but CCVER will remain at "gcc50" regardless if the
version of gcc is 5.1.1 or 5.4.2. This includes changes up to SVN 222168 (April 17).

###

diff --git a/contrib/gcc-5.0/README.DELETED b/contrib/gcc-5.0/README.DELETED
index 0fa25d5..5316c49 100644
--- a/contrib/gcc-5.0/README.DELETED
+++ b/contrib/gcc-5.0/README.DELETED
@@ -377,31 +377,7 @@ gcc/cp/Make-lang.in
gcc/cp/NEWS
gcc/cp/config-lang.in
gcc/cstamp-h.in
-gcc/doc/aot-compile.1
-gcc/doc/cpp.info
-gcc/doc/cppinternals.info
-gcc/doc/fsf-funding.7
-gcc/doc/gc-analyze.1
-gcc/doc/gcc.info
-gcc/doc/gccinstall.info
-gcc/doc/gccint.info
-gcc/doc/gcj-dbtool.1
-gcc/doc/gcj.1
-gcc/doc/gcj.info
-gcc/doc/gfdl.7
-gcc/doc/gfortran.1
-gcc/doc/gij.1
-gcc/doc/gpl.7
-gcc/doc/grmic.1
-gcc/doc/include/gpl.texi
-gcc/doc/include/texinfo.tex
-gcc/doc/install-old.texi
-gcc/doc/install.texi
-gcc/doc/install.texi2html
-gcc/doc/jcf-dump.1
-gcc/doc/jv-convert.1
-gcc/doc/rebuild-gcj-db.1
-gcc/doc/tm.texi.in
+gcc/doc/
gcc/exec-tool.in
gcc/fortran/
gcc/gdbasan.in
@@ -634,6 +610,7 @@ libiberty/README
libiberty/_doprnt.c
libiberty/aclocal.m4
libiberty/asprintf.c
+libiberty/at-file.texi
libiberty/atexit.c
libiberty/basename.c
libiberty/bcmp.c
@@ -716,6 +693,7 @@ libitm/aclocal.m4
libitm/config.h.in
libitm/configure
libitm/configure.ac
+libitm/libitm.texi
libjava/
libmpx/
libobjc/ChangeLog
diff --git a/contrib/gcc-5.0/README.DRAGONFLY b/contrib/gcc-5.0/README.DRAGONFLY
index 3ed99a5..68a49ec 100644
--- a/contrib/gcc-5.0/README.DRAGONFLY
+++ b/contrib/gcc-5.0/README.DRAGONFLY
@@ -1,13 +1,15 @@
-GCC-5.0.0 SNAPSHOT
+GCC-5.0.1 SNAPSHOT
==================

-Original source can be downloaded from:
+Original source of man pages can be downloaded from:
http://ftp.gnu.org/gnu/gcc

-XXX file = gcc-5-20150201.tar.bz2
-XXX date = 1 Febuary 2015
-XXX size = 89749171
-XXX sha1 = 0558cb236c982b5e1931ed18fc06967b3da1cd99
+file = gcc-5.1.0-RC-20150412.tar.bz2
+date = 13 April 2015
+size = 95081824
+sha1 = 405c12ba75a30d52ed3e0b369e84e36a6ec7d6a4
+
+The source files are pulled directly from GCC's Subversion repository.
See LAST_UPDATED for SVN revision

The file README.DELETED contains a list of deleted files and directories.
diff --git a/gnu/usr.bin/cc50/Makefile.version b/gnu/usr.bin/cc50/Makefile.version
index 639baff..9e287e0 100644
--- a/gnu/usr.bin/cc50/Makefile.version
+++ b/gnu/usr.bin/cc50/Makefile.version
@@ -1,5 +1,5 @@
-GCCCOMPLETEVER= 5.0.0
+GCCCOMPLETEVER= 5.0.1
GCCRELEASE= Snapshot # choices are "Snapshot" or "Release"
-GCCDATESTAMP= 2015-04-02
+GCCDATESTAMP= 2015-04-17
GCCPOINTVER= ${GCCCOMPLETEVER:R}
GCCSHORTVER= ${GCCPOINTVER:S/.//}
diff --git a/gnu/usr.bin/cc50/drivers/cc/Makefile b/gnu/usr.bin/cc50/drivers/cc/Makefile
index 0f9552a..693b0c0 100644
--- a/gnu/usr.bin/cc50/drivers/cc/Makefile
+++ b/gnu/usr.bin/cc50/drivers/cc/Makefile
@@ -13,7 +13,7 @@ CFLAGS+= -DCONFIGURE_SPECS="\"\"" \
-DACCEL_DIR_SUFFIX="\"\"" \
-DDEFAULT_REAL_TARGET_MACHINE="\"${target_machine}\""

-DOC_Release= ${GCCDIR}/gcc/doc/gcc.1
+DOC_Release= gcc.1 #${GCCDIR}/gcc/doc/gcc.1
DOC_Snapshot= gcc.1

${MFILE}: ${DOC_${GCCRELEASE}}
diff --git a/gnu/usr.bin/cc50/drivers/cc/gcc.1 b/gnu/usr.bin/cc50/drivers/cc/gcc.1
index 023ecd0..1282146 100644
--- a/gnu/usr.bin/cc50/drivers/cc/gcc.1
+++ b/gnu/usr.bin/cc50/drivers/cc/gcc.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20)
+.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -38,6 +38,8 @@
. ds PI \(*p
. ds L" ``
. ds R" ''
+. ds C`
+. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
@@ -48,17 +50,24 @@
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
-.ie \nF \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
..
-. nr % 0
-. rr F
-.\}
-.el \{\
-. de IX
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{
+. if \nF \{
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
..
+. if !\nF==2 \{
+. nr % 0
+. nr F 2
+. \}
+. \}
.\}
+.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
@@ -124,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "GCC 1"
-.TH GCC 1 "2015-01-11" "gcc-5.0.0" "GNU"
+.TH GCC 1 "2015-04-12" "gcc-5.0.1" "GNU"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -145,7 +154,7 @@ Only the most useful options are listed here; see below for the
remainder. \fBg++\fR accepts mostly the same options as \fBgcc\fR.
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
-When you invoke \s-1GCC\s0, it normally does preprocessing, compilation,
+When you invoke \s-1GCC,\s0 it normally does preprocessing, compilation,
assembly and linking. The \*(L"overall options\*(R" allow you to stop this
process at an intermediate stage. For example, the \fB\-c\fR option
says not to run the linker. Then the output consists of object files
@@ -196,8 +205,8 @@ in the following sections.
\&\fB\-ansi \-std=\fR\fIstandard\fR \fB\-fgnu89\-inline
\&\-aux\-info\fR \fIfilename\fR \fB\-fallow\-parameterless\-variadic\-functions
\&\-fno\-asm \-fno\-builtin \-fno\-builtin\-\fR\fIfunction\fR
-\&\fB\-fhosted \-ffreestanding \-fopenmp \-fopenmp\-simd \-fms\-extensions
-\&\-fplan9\-extensions \-trigraphs \-traditional \-traditional\-cpp
+\&\fB\-fhosted \-ffreestanding \-fopenacc \-fopenmp \-fopenmp\-simd
+\&\-fms\-extensions \-fplan9\-extensions \-trigraphs \-traditional \-traditional\-cpp
\&\-fallow\-single\-precision \-fcond\-mismatch \-flax\-vector\-conversions
\&\-fsigned\-bitfields \-fsigned\-char
\&\-funsigned\-bitfields \-funsigned\-char\fR
@@ -224,7 +233,7 @@ in the following sections.
\&\fB\-fvtv\-counts \-fvtv\-debug
\&\-fvisibility\-ms\-compat
\&\-fext\-numeric\-literals
-\&\-Wabi=\fR\fIn\fR \fB\-Wconversion\-null \-Wctor\-dtor\-privacy
+\&\-Wabi=\fR\fIn\fR \fB\-Wabi\-tag \-Wconversion\-null \-Wctor\-dtor\-privacy
\&\-Wdelete\-non\-virtual\-dtor \-Wliteral\-suffix \-Wnarrowing
\&\-Wnoexcept \-Wnon\-virtual\-dtor \-Wreorder
\&\-Weffc++ \-Wstrict\-null\-sentinel
@@ -263,8 +272,8 @@ in the following sections.
\&\fB\-fsyntax\-only \-fmax\-errors=\fR\fIn\fR \fB\-Wpedantic
\&\-pedantic\-errors
\&\-w \-Wextra \-Wall \-Waddress \-Waggregate\-return
-\&\-Waggressive\-loop\-optimizations \-Warray\-bounds
-\&\-Wbool\-compare
+\&\-Waggressive\-loop\-optimizations \-Warray\-bounds \-Warray\-bounds=\fR\fIn\fR
+\&\fB\-Wbool\-compare
\&\-Wno\-attributes \-Wno\-builtin\-macro\-redefined
\&\-Wc90\-c99\-compat \-Wc99\-c11\-compat
\&\-Wc++\-compat \-Wc++11\-compat \-Wc++14\-compat \-Wcast\-align \-Wcast\-qual
@@ -324,6 +333,15 @@ in the following sections.
\&\fB\-d\fR\fIletters\fR \fB\-dumpspecs \-dumpmachine \-dumpversion
\&\-fsanitize=\fR\fIstyle\fR \fB\-fsanitize\-recover \-fsanitize\-recover=\fR\fIstyle\fR
\&\fB\-fasan\-shadow\-offset=\fR\fInumber\fR \fB\-fsanitize\-undefined\-trap\-on\-error
+\&\-fcheck\-pointer\-bounds \-fchkp\-check\-incomplete\-type
+\&\-fchkp\-first\-field\-has\-own\-bounds \-fchkp\-narrow\-bounds
+\&\-fchkp\-narrow\-to\-innermost\-array \-fchkp\-optimize
+\&\-fchkp\-use\-fast\-string\-functions \-fchkp\-use\-nochk\-string\-functions
+\&\-fchkp\-use\-static\-bounds \-fchkp\-use\-static\-const\-bounds
+\&\-fchkp\-treat\-zero\-dynamic\-size\-as\-infinite \-fchkp\-check\-read
+\&\-fchkp\-check\-read \-fchkp\-check\-write \-fchkp\-store\-bounds
+\&\-fchkp\-instrument\-calls \-fchkp\-instrument\-marked\-only
+\&\-fchkp\-use\-wrappers
\&\-fdbg\-cnt\-list \-fdbg\-cnt=\fR\fIcounter-value-list\fR
\&\fB\-fdisable\-ipa\-\fR\fIpass_name\fR
\&\fB\-fdisable\-rtl\-\fR\fIpass_name\fR
@@ -408,7 +426,7 @@ in the following sections.
\&\-fgcse\-sm \-fhoist\-adjacent\-loads \-fif\-conversion
\&\-fif\-conversion2 \-findirect\-inlining
\&\-finline\-functions \-finline\-functions\-called\-once \-finline\-limit=\fR\fIn\fR
-\&\fB\-finline\-small\-functions \-fipa\-cp \-fipa\-cp\-clone
+\&\fB\-finline\-small\-functions \-fipa\-cp \-fipa\-cp\-clone \-fipa\-cp\-alignment
\&\-fipa\-pta \-fipa\-profile \-fipa\-pure\-const \-fipa\-reference \-fipa\-icf
\&\-fira\-algorithm=\fR\fIalgorithm\fR
\&\fB\-fira\-region=\fR\fIregion\fR \fB\-fira\-hoist\-pressure
@@ -449,8 +467,9 @@ in the following sections.
\&\-fsel\-sched\-pipelining \-fsel\-sched\-pipelining\-outer\-loops
\&\-fsemantic\-interposition
\&\-fshrink\-wrap \-fsignaling\-nans \-fsingle\-precision\-constant
-\&\-fsplit\-ivs\-in\-unroller \-fsplit\-wide\-types \-fssa\-phiopt \-fstack\-protector
-\&\-fstack\-protector\-all \-fstack\-protector\-strong \-fstrict\-aliasing
+\&\-fsplit\-ivs\-in\-unroller \-fsplit\-wide\-types \-fssa\-phiopt
+\&\-fstack\-protector \-fstack\-protector\-all \-fstack\-protector\-strong
+\&\-fstack\-protector\-explicit \-fstdarg\-opt \-fstrict\-aliasing
\&\-fstrict\-overflow \-fthread\-jumps \-ftracer \-ftree\-bit\-ccp
\&\-ftree\-builtin\-call\-dce \-ftree\-ccp \-ftree\-ch
\&\-ftree\-coalesce\-inline\-vars \-ftree\-coalesce\-vars \-ftree\-copy\-prop
@@ -467,7 +486,7 @@ in the following sections.
\&\-funit\-at\-a\-time \-funroll\-all\-loops \-funroll\-loops
\&\-funsafe\-loop\-optimizations \-funsafe\-math\-optimizations \-funswitch\-loops
\&\-fipa\-ra \-fvariable\-expansion\-in\-unroller \-fvect\-cost\-model \-fvpt
-\&\-fweb \-fwhole\-program \-fwpa \-fuse\-ld=\fR\fIlinker\fR \fB\-fuse\-linker\-plugin
+\&\-fweb \-fwhole\-program \-fwpa \-fuse\-linker\-plugin
\&\-\-param\fR \fIname\fR\fB=\fR\fIvalue\fR
\&\fB\-O \-O0 \-O1 \-O2 \-O3 \-Os \-Ofast \-Og\fR
.IP "\fIPreprocessor Options\fR" 4
@@ -490,10 +509,11 @@ in the following sections.
\&\fB\-Wa,\fR\fIoption\fR \fB\-Xassembler\fR \fIoption\fR
.IP "\fILinker Options\fR" 4
.IX Item "Linker Options"
-\&\fIobject-file-name\fR \fB\-l\fR\fIlibrary\fR
+\&\fIobject-file-name\fR \fB\-fuse\-ld=\fR\fIlinker\fR \fB\-l\fR\fIlibrary\fR
\&\fB\-nostartfiles \-nodefaultlibs \-nostdlib \-pie \-rdynamic
\&\-s \-static \-static\-libgcc \-static\-libstdc++
\&\-static\-libasan \-static\-libtsan \-static\-liblsan \-static\-libubsan
+\&\-static\-libmpx \-static\-libmpxwrappers
\&\-shared \-shared\-libgcc \-symbolic
\&\-T\fR \fIscript\fR \fB\-Wl,\fR\fIoption\fR \fB\-Xlinker\fR \fIoption\fR
\&\fB\-u\fR \fIsymbol\fR \fB\-z\fR \fIkeyword\fR
@@ -551,7 +571,8 @@ in the following sections.
\&\fB\-mfp16\-format=\fR\fIname\fR
\&\fB\-mthumb\-interwork \-mno\-thumb\-interwork
\&\-mcpu=\fR\fIname\fR \fB\-march=\fR\fIname\fR \fB\-mfpu=\fR\fIname\fR
-\&\fB\-mstructure\-size\-boundary=\fR\fIn\fR
+\&\fB\-mtune=\fR\fIname\fR \fB\-mprint\-tune\-info
+\&\-mstructure\-size\-boundary=\fR\fIn\fR
\&\fB\-mabort\-on\-noreturn
\&\-mlong\-calls \-mno\-long\-calls
\&\-msingle\-pic\-base \-mno\-single\-pic\-base
@@ -572,8 +593,8 @@ in the following sections.
.Sp
\&\fI\s-1AVR\s0 Options\fR
\&\fB\-mmcu=\fR\fImcu\fR \fB\-maccumulate\-args \-mbranch\-cost=\fR\fIcost\fR
-\&\fB\-mcall\-prologues \-mint8 \-mno\-interrupts \-mrelax
-\&\-mstrict\-X \-mtiny\-stack \-Waddr\-space\-convert\fR
+\&\fB\-mcall\-prologues \-mint8 \-mn_flash=\fR\fIsize\fR \fB\-mno\-interrupts
+\&\-mrelax \-mrmw \-mstrict\-X \-mtiny\-stack \-nodevicelib \-Waddr\-space\-convert\fR
.Sp
\&\fIBlackfin Options\fR
\&\fB\-mcpu=\fR\fIcpu\fR[\fB\-\fR\fIsirevision\fR]
@@ -687,44 +708,6 @@ in the following sections.
\&\-mschedule=\fR\fIcpu-type\fR \fB\-mspace\-regs \-msio \-mwsio
\&\-munix=\fR\fIunix-std\fR \fB\-nolibdld \-static \-threads\fR
.Sp
-\&\fIi386 and x86\-64 Options\fR
-\&\fB\-mtune=\fR\fIcpu-type\fR \fB\-march=\fR\fIcpu-type\fR
-\&\fB\-mtune\-ctrl=\fR\fIfeature-list\fR \fB\-mdump\-tune\-features \-mno\-default
-\&\-mfpmath=\fR\fIunit\fR
-\&\fB\-masm=\fR\fIdialect\fR \fB\-mno\-fancy\-math\-387
-\&\-mno\-fp\-ret\-in\-387 \-msoft\-float
-\&\-mno\-wide\-multiply \-mrtd \-malign\-double
-\&\-mpreferred\-stack\-boundary=\fR\fInum\fR
-\&\fB\-mincoming\-stack\-boundary=\fR\fInum\fR
-\&\fB\-mcld \-mcx16 \-msahf \-mmovbe \-mcrc32
-\&\-mrecip \-mrecip=\fR\fIopt\fR
-\&\fB\-mvzeroupper \-mprefer\-avx128
-\&\-mmmx \-msse \-msse2 \-msse3 \-mssse3 \-msse4.1 \-msse4.2 \-msse4 \-mavx
-\&\-mavx2 \-mavx512f \-mavx512pf \-mavx512er \-mavx512cd \-msha
-\&\-maes \-mpclmul \-mfsgsbase \-mrdrnd \-mf16c \-mfma \-mprefetchwt1
-\&\-mclflushopt \-mxsavec \-mxsaves
-\&\-msse4a \-m3dnow \-mpopcnt \-mabm \-mbmi \-mtbm \-mfma4 \-mxop \-mlzcnt
-\&\-mbmi2 \-mfxsr \-mxsave \-mxsaveopt \-mrtm \-mlwp \-mmpx \-mthreads
-\&\-mno\-align\-stringops \-minline\-all\-stringops
-\&\-minline\-stringops\-dynamically \-mstringop\-strategy=\fR\fIalg\fR
-\&\fB\-mmemcpy\-strategy=\fR\fIstrategy\fR \fB\-mmemset\-strategy=\fR\fIstrategy\fR
-\&\fB\-mpush\-args \-maccumulate\-outgoing\-args \-m128bit\-long\-double
-\&\-m96bit\-long\-double \-mlong\-double\-64 \-mlong\-double\-80 \-mlong\-double\-128
-\&\-mregparm=\fR\fInum\fR \fB\-msseregparm
-\&\-mveclibabi=\fR\fItype\fR \fB\-mvect8\-ret\-in\-mem
-\&\-mpc32 \-mpc64 \-mpc80 \-mstackrealign
-\&\-momit\-leaf\-frame\-pointer \-mno\-red\-zone \-mno\-tls\-direct\-seg\-refs
-\&\-mcmodel=\fR\fIcode-model\fR \fB\-mabi=\fR\fIname\fR \fB\-maddress\-mode=\fR\fImode\fR
-\&\fB\-m32 \-m64 \-mx32 \-m16 \-mlarge\-data\-threshold=\fR\fInum\fR
-\&\fB\-msse2avx \-mfentry \-mrecord\-mcount \-mnop\-mcount \-m8bit\-idiv
-\&\-mavx256\-split\-unaligned\-load \-mavx256\-split\-unaligned\-store
-\&\-malign\-data=\fR\fItype\fR \fB\-mstack\-protector\-guard=\fR\fIguard\fR
-.Sp
-\&\fIi386 and x86\-64 Windows Options\fR
-\&\fB\-mconsole \-mcygwin \-mno\-cygwin \-mdll
-\&\-mnop\-fun\-dllimport \-mthread
-\&\-municode \-mwin32 \-mwindows \-fno\-set\-stack\-executable\fR
-.Sp
\&\fI\s-1IA\-64\s0 Options\fR
\&\fB\-mbig\-endian \-mlittle\-endian \-mgnu\-as \-mgnu\-ld \-mno\-pic
\&\-mvolatile\-asm\-stop \-mregister\-names \-msdata \-mno\-sdata
@@ -872,15 +855,15 @@ in the following sections.
\&\-mperf\-ext \-mno\-perf\-ext
\&\-mv3push \-mno\-v3push
\&\-m16bit \-mno\-16bit
-\&\-mgp\-direct \-mno\-gp\-direct
\&\-misr\-vector\-size=\fR\fInum\fR
\&\fB\-mcache\-block\-size=\fR\fInum\fR
\&\fB\-march=\fR\fIarch\fR
-\&\fB\-mforce\-fp\-as\-gp \-mforbid\-fp\-as\-gp
-\&\-mex9 \-mctor\-dtor \-mrelax\fR
+\&\fB\-mcmodel=\fR\fIcode-model\fR
+\&\fB\-mctor\-dtor \-mrelax\fR
.Sp
\&\fINios \s-1II\s0 Options\fR
-\&\fB\-G\fR \fInum\fR \fB\-mgpopt \-mno\-gpopt \-mel \-meb
+\&\fB\-G\fR \fInum\fR \fB\-mgpopt=\fR\fIoption\fR \fB\-mgpopt \-mno\-gpopt
+\&\-mel \-meb
\&\-mno\-bypass\-cache \-mbypass\-cache
\&\-mno\-cache\-volatile \-mcache\-volatile
\&\-mno\-fast\-sw\-div \-mfast\-sw\-div
@@ -889,6 +872,9 @@ in the following sections.
\&\fB\-mcustom\-fpu\-cfg=\fR\fIname\fR
\&\fB\-mhal \-msmallc \-msys\-crt0=\fR\fIname\fR \fB\-msys\-lib=\fR\fIname\fR
.Sp
+\&\fINvidia \s-1PTX\s0 Options\fR
+\&\fB\-m32 \-m64 \-mmainkernel\fR
+.Sp
\&\fI\s-1PDP\-11\s0 Options\fR
\&\fB\-mfpu \-msoft\-float \-mac0 \-mno\-ac0 \-m40 \-m45 \-m10
\&\-mbcopy \-mbcopy\-builtin \-mint32 \-mno\-int16
@@ -987,7 +973,7 @@ See \s-1RS/6000\s0 and PowerPC Options.
\&\-m64 \-m31 \-mdebug \-mno\-debug \-mesa \-mzarch
\&\-mtpf\-trace \-mno\-tpf\-trace \-mfused\-madd \-mno\-fused\-madd
\&\-mwarn\-framesize \-mwarn\-dynamicstack \-mstack\-size \-mstack\-guard
-\&\-mhotpatch[=\fR\fIhalfwords\fR\fB] \-mno\-hotpatch\fR
+\&\-mhotpatch=\fR\fIhalfwords\fR\fB,\fR\fIhalfwords\fR
.Sp
\&\fIScore Options\fR
\&\fB\-meb \-mel
@@ -1014,6 +1000,7 @@ See \s-1RS/6000\s0 and PowerPC Options.
\&\-maccumulate\-outgoing\-args \-minvalid\-symbols
\&\-matomic\-model=\fR\fIatomic-model\fR
\&\fB\-mbranch\-cost=\fR\fInum\fR \fB\-mzdcbranch \-mno\-zdcbranch
+\&\-mcbranch\-force\-delay\-slot
\&\-mfused\-madd \-mno\-fused\-madd \-mfsca \-mno\-fsca \-mfsrra \-mno\-fsrra
\&\-mpretend\-cmove \-mtas\fR
.Sp
@@ -1092,8 +1079,43 @@ See \s-1RS/6000\s0 and PowerPC Options.
\&\fB\-mrtp \-non\-static \-Bstatic \-Bdynamic
\&\-Xbind\-lazy \-Xbind\-now\fR
.Sp
-\&\fIx86\-64 Options\fR
-See i386 and x86\-64 Options.
+\&\fIx86 Options\fR
+\&\fB\-mtune=\fR\fIcpu-type\fR \fB\-march=\fR\fIcpu-type\fR
+\&\fB\-mtune\-ctrl=\fR\fIfeature-list\fR \fB\-mdump\-tune\-features \-mno\-default
+\&\-mfpmath=\fR\fIunit\fR
+\&\fB\-masm=\fR\fIdialect\fR \fB\-mno\-fancy\-math\-387
+\&\-mno\-fp\-ret\-in\-387 \-msoft\-float
+\&\-mno\-wide\-multiply \-mrtd \-malign\-double
+\&\-mpreferred\-stack\-boundary=\fR\fInum\fR
+\&\fB\-mincoming\-stack\-boundary=\fR\fInum\fR
+\&\fB\-mcld \-mcx16 \-msahf \-mmovbe \-mcrc32
+\&\-mrecip \-mrecip=\fR\fIopt\fR
+\&\fB\-mvzeroupper \-mprefer\-avx128
+\&\-mmmx \-msse \-msse2 \-msse3 \-mssse3 \-msse4.1 \-msse4.2 \-msse4 \-mavx
+\&\-mavx2 \-mavx512f \-mavx512pf \-mavx512er \-mavx512cd \-msha
+\&\-maes \-mpclmul \-mfsgsbase \-mrdrnd \-mf16c \-mfma \-mprefetchwt1
+\&\-mclflushopt \-mxsavec \-mxsaves
+\&\-msse4a \-m3dnow \-mpopcnt \-mabm \-mbmi \-mtbm \-mfma4 \-mxop \-mlzcnt
+\&\-mbmi2 \-mfxsr \-mxsave \-mxsaveopt \-mrtm \-mlwp \-mmpx \-mthreads
+\&\-mno\-align\-stringops \-minline\-all\-stringops
+\&\-minline\-stringops\-dynamically \-mstringop\-strategy=\fR\fIalg\fR
+\&\fB\-mmemcpy\-strategy=\fR\fIstrategy\fR \fB\-mmemset\-strategy=\fR\fIstrategy\fR
+\&\fB\-mpush\-args \-maccumulate\-outgoing\-args \-m128bit\-long\-double
+\&\-m96bit\-long\-double \-mlong\-double\-64 \-mlong\-double\-80 \-mlong\-double\-128
+\&\-mregparm=\fR\fInum\fR \fB\-msseregparm
+\&\-mveclibabi=\fR\fItype\fR \fB\-mvect8\-ret\-in\-mem
+\&\-mpc32 \-mpc64 \-mpc80 \-mstackrealign
+\&\-momit\-leaf\-frame\-pointer \-mno\-red\-zone \-mno\-tls\-direct\-seg\-refs
+\&\-mcmodel=\fR\fIcode-model\fR \fB\-mabi=\fR\fIname\fR \fB\-maddress\-mode=\fR\fImode\fR
+\&\fB\-m32 \-m64 \-mx32 \-m16 \-mlarge\-data\-threshold=\fR\fInum\fR
+\&\fB\-msse2avx \-mfentry \-mrecord\-mcount \-mnop\-mcount \-m8bit\-idiv
+\&\-mavx256\-split\-unaligned\-load \-mavx256\-split\-unaligned\-store
+\&\-malign\-data=\fR\fItype\fR \fB\-mstack\-protector\-guard=\fR\fIguard\fR
+.Sp
+\&\fIx86 Windows Options\fR
+\&\fB\-mconsole \-mcygwin \-mno\-cygwin \-mdll
+\&\-mnop\-fun\-dllimport \-mthread
+\&\-municode \-mwin32 \-mwindows \-fno\-set\-stack\-executable\fR
.Sp
\&\fIXstormy16 Options\fR
\&\fB\-msim\fR
@@ -1437,7 +1459,7 @@ option.
.IX Item "language"
Display the options supported for \fIlanguage\fR, where
\&\fIlanguage\fR is the name of one of the languages supported in this
-version of \s-1GCC\s0.
+version of \s-1GCC.\s0
.IP "\fBcommon\fR" 4
.IX Item "common"
Display the options that are common to all languages.
@@ -1534,7 +1556,7 @@ or \fB/./\fR, or make the path absolute when generating a relative
prefix.
.IP "\fB\-\-version\fR" 4
.IX Item "--version"
-Display the version number and copyrights of the invoked \s-1GCC\s0.
+Display the version number and copyrights of the invoked \s-1GCC.\s0
.IP "\fB\-wrapper\fR" 4
.IX Item "-wrapper"
Invoke all subcommands under a wrapper program. The name of the
@@ -1556,7 +1578,7 @@ the shared object file is used to identify the plugin for the
purposes of argument parsing (See
\&\fB\-fplugin\-arg\-\fR\fIname\fR\fB\-\fR\fIkey\fR\fB=\fR\fIvalue\fR below).
Each plugin should define the callback functions specified in the
-Plugins \s-1API\s0.
+Plugins \s-1API.\s0
.IP "\fB\-fplugin\-arg\-\fR\fIname\fR\fB\-\fR\fIkey\fR\fB=\fR\fIvalue\fR" 4
.IX Item "-fplugin-arg-name-key=value"
Define an argument called \fIkey\fR with a value of \fIvalue\fR
@@ -1589,7 +1611,7 @@ backslash) may be included by prefixing the character to be included
with a backslash. The \fIfile\fR may itself contain additional
@\fIfile\fR options; any such options will be processed recursively.
.SS "Compiling \*(C+ Programs"
-.IX Subsection "Compiling Programs"
+.IX Subsection "Compiling Programs"
\&\*(C+ source files conventionally use one of the suffixes \fB.C\fR,
\&\fB.cc\fR, \fB.cpp\fR, \fB.CPP\fR, \fB.c++\fR, \fB.cp\fR, or
\&\fB.cxx\fR; \*(C+ header files often use \fB.hh\fR, \fB.hpp\fR,
@@ -1622,8 +1644,8 @@ accepts:
In C mode, this is equivalent to \fB\-std=c90\fR. In \*(C+ mode, it is
equivalent to \fB\-std=c++98\fR.
.Sp
-This turns off certain features of \s-1GCC\s0 that are incompatible with \s-1ISO\s0
-C90 (when compiling C code), or of standard \*(C+ (when compiling \*(C+ code),
+This turns off certain features of \s-1GCC\s0 that are incompatible with \s-1ISO
+C90 \s0(when compiling C code), or of standard \*(C+ (when compiling \*(C+ code),
such as the \f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`typeof\*(C'\fR keywords, and
predefined macros such as \f(CW\*(C`unix\*(C'\fR and \f(CW\*(C`vax\*(C'\fR that identify the
type of system you are using. It also enables the undesirable and
@@ -1633,7 +1655,7 @@ the \f(CW\*(C`inline\*(C'\fR keyword.
.Sp
The alternate keywords \f(CW\*(C`_\|_asm_\|_\*(C'\fR, \f(CW\*(C`_\|_extension_\|_\*(C'\fR,
\&\f(CW\*(C`_\|_inline_\|_\*(C'\fR and \f(CW\*(C`_\|_typeof_\|_\*(C'\fR continue to work despite
-\&\fB\-ansi\fR. You would not want to use them in an \s-1ISO\s0 C program, of
+\&\fB\-ansi\fR. You would not want to use them in an \s-1ISO C\s0 program, of
course, but it is useful to put them in header files that might be included
in compilations done with \fB\-ansi\fR. Alternate predefined macros
such as \f(CW\*(C`_\|_unix_\|_\*(C'\fR and \f(CW\*(C`_\|_vax_\|_\*(C'\fR are also available, with or
@@ -1650,7 +1672,7 @@ from declaring certain functions or defining certain macros that the
programs that might use these names for other things.
.Sp
Functions that are normally built in but do not have semantics
-defined by \s-1ISO\s0 C (such as \f(CW\*(C`alloca\*(C'\fR and \f(CW\*(C`ffs\*(C'\fR) are not built-in
+defined by \s-1ISO C \s0(such as \f(CW\*(C`alloca\*(C'\fR and \f(CW\*(C`ffs\*(C'\fR) are not built-in
functions when \fB\-ansi\fR is used.
.IP "\fB\-std=\fR" 4
.IX Item "-std="
@@ -1663,9 +1685,9 @@ The compiler can accept several base standards, such as \fBc90\fR or
compiler accepts all programs following that standard plus those
using \s-1GNU\s0 extensions that do not contradict it. For example,
\&\fB\-std=c90\fR turns off certain features of \s-1GCC\s0 that are
-incompatible with \s-1ISO\s0 C90, such as the \f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`typeof\*(C'\fR
+incompatible with \s-1ISO C90,\s0 such as the \f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`typeof\*(C'\fR
keywords, but not other \s-1GNU\s0 extensions that do not have a meaning in
-\&\s-1ISO\s0 C90, such as omitting the middle term of a \f(CW\*(C`?:\*(C'\fR
+\&\s-1ISO C90,\s0 such as omitting the middle term of a \f(CW\*(C`?:\*(C'\fR
expression. On the other hand, when a \s-1GNU\s0 dialect of a standard is
specified, all features supported by the compiler are enabled, even when
those features change the meaning of the base standard. As a result, some
@@ -1685,11 +1707,11 @@ A value for this option must be provided; possible values are
.IP "\fBiso9899:1990\fR" 4
.IX Item "iso9899:1990"
.PD
-Support all \s-1ISO\s0 C90 programs (certain \s-1GNU\s0 extensions that conflict
-with \s-1ISO\s0 C90 are disabled). Same as \fB\-ansi\fR for C code.
+Support all \s-1ISO C90\s0 programs (certain \s-1GNU\s0 extensions that conflict
+with \s-1ISO C90\s0 are disabled). Same as \fB\-ansi\fR for C code.
.IP "\fBiso9899:199409\fR" 4
.IX Item "iso9899:199409"
-\&\s-1ISO\s0 C90 as modified in amendment 1.
+\&\s-1ISO C90\s0 as modified in amendment 1.
.IP "\fBc99\fR" 4
.IX Item "c99"
.PD 0
@@ -1700,7 +1722,7 @@ with \s-1ISO\s0 C90 are disabled). Same as \fB\-ansi\fR for C code.
.IP "\fBiso9899:199x\fR" 4
.IX Item "iso9899:199x"
.PD
-\&\s-1ISO\s0 C99. This standard is substantially completely supported, modulo
+\&\s-1ISO C99. \s0 This standard is substantially completely supported, modulo
bugs and floating-point issues
(mainly but not entirely relating to optional C99 features from
Annexes F and G). See
@@ -1714,7 +1736,7 @@ names \fBc9x\fR and \fBiso9899:199x\fR are deprecated.
.IP "\fBiso9899:2011\fR" 4
.IX Item "iso9899:2011"
.PD
-\&\s-1ISO\s0 C11, the 2011 revision of the \s-1ISO\s0 C standard. This standard is
+\&\s-1ISO C11,\s0 the 2011 revision of the \s-1ISO C\s0 standard. This standard is
substantially completely supported, modulo bugs, floating-point issues
(mainly but not entirely relating to optional C11 features from
Annexes F and G) and the optional Annexes K (Bounds-checking
@@ -1725,21 +1747,21 @@ interfaces) and L (Analyzability). The name \fBc1x\fR is deprecated.
.IP "\fBgnu89\fR" 4
.IX Item "gnu89"
.PD
-\&\s-1GNU\s0 dialect of \s-1ISO\s0 C90 (including some C99 features).
+\&\s-1GNU\s0 dialect of \s-1ISO C90 \s0(including some C99 features).
.IP "\fBgnu99\fR" 4
.IX Item "gnu99"
.PD 0
.IP "\fBgnu9x\fR" 4
.IX Item "gnu9x"
.PD
-\&\s-1GNU\s0 dialect of \s-1ISO\s0 C99. The name \fBgnu9x\fR is deprecated.
+\&\s-1GNU\s0 dialect of \s-1ISO C99. \s0 The name \fBgnu9x\fR is deprecated.
.IP "\fBgnu11\fR" 4
.IX Item "gnu11"
.PD 0
.IP "\fBgnu1x\fR" 4
.IX Item "gnu1x"
.PD
-\&\s-1GNU\s0 dialect of \s-1ISO\s0 C11. This is the default for C code.
+\&\s-1GNU\s0 dialect of \s-1ISO C11. \s0 This is the default for C code.
The name \fBgnu1x\fR is deprecated.
.IP "\fBc++98\fR" 4
.IX Item "c++98"
@@ -1747,7 +1769,7 @@ The name \fBgnu1x\fR is deprecated.
.IP "\fBc++03\fR" 4
.IX Item "c++03"
.PD
-The 1998 \s-1ISO\s0 \*(C+ standard plus the 2003 technical corrigendum and some
+The 1998 \s-1ISO \*(C+\s0 standard plus the 2003 technical corrigendum and some
additional defect reports. Same as \fB\-ansi\fR for \*(C+ code.
.IP "\fBgnu++98\fR" 4
.IX Item "gnu++98"
@@ -1763,7 +1785,7 @@ additional defect reports. Same as \fB\-ansi\fR for \*(C+ code.
.IP "\fBc++0x\fR" 4
.IX Item "c++0x"
.PD
-The 2011 \s-1ISO\s0 \*(C+ standard plus amendments.
+The 2011 \s-1ISO \*(C+\s0 standard plus amendments.
The name \fBc++0x\fR is deprecated.
.IP "\fBgnu++11\fR" 4
.IX Item "gnu++11"
@@ -1779,7 +1801,7 @@ The name \fBgnu++0x\fR is deprecated.
.IP "\fBc++1y\fR" 4
.IX Item "c++1y"
.PD
-The 2014 \s-1ISO\s0 \*(C+ standard plus amendments.
+The 2014 \s-1ISO \*(C+\s0 standard plus amendments.
The name \fBc++1y\fR is deprecated.
.IP "\fBgnu++14\fR" 4
.IX Item "gnu++14"
@@ -1791,7 +1813,7 @@ The name \fBc++1y\fR is deprecated.
The name \fBgnu++1y\fR is deprecated.
.IP "\fBc++1z\fR" 4
.IX Item "c++1z"
-The next revision of the \s-1ISO\s0 \*(C+ standard, tentatively planned for
+The next revision of the \s-1ISO \*(C+\s0 standard, tentatively planned for
2017. Support is highly experimental, and will almost certainly
change in incompatible ways in future releases.
.IP "\fBgnu++1z\fR" 4
@@ -1806,16 +1828,14 @@ releases.
.IX Item "-fgnu89-inline"
The option \fB\-fgnu89\-inline\fR tells \s-1GCC\s0 to use the traditional
\&\s-1GNU\s0 semantics for \f(CW\*(C`inline\*(C'\fR functions when in C99 mode.
- This option
-is accepted and ignored by \s-1GCC\s0 versions 4.1.3 up to but not including
-4.3. In \s-1GCC\s0 versions 4.3 and later it changes the behavior of \s-1GCC\s0 in
-C99 mode. Using this option is roughly equivalent to adding the
+.Sp
+Using this option is roughly equivalent to adding the
\&\f(CW\*(C`gnu_inline\*(C'\fR function attribute to all inline functions.
.Sp
The option \fB\-fno\-gnu89\-inline\fR explicitly tells \s-1GCC\s0 to use the
C99 semantics for \f(CW\*(C`inline\*(C'\fR when in C99 or gnu99 mode (i.e., it
-specifies the default behavior). This option was first supported in
-\&\s-1GCC\s0 4.3. This option is not supported in \fB\-std=c90\fR or
+specifies the default behavior).
+This option is not supported in \fB\-std=c90\fR or
\&\fB\-std=gnu90\fR mode.
.Sp
The preprocessor macros \f(CW\*(C`_\|_GNUC_GNU_INLINE_\|_\*(C'\fR and
@@ -1855,7 +1875,7 @@ In \*(C+, this switch only affects the \f(CW\*(C`typeof\*(C'\fR keyword, since
use the \fB\-fno\-gnu\-keywords\fR flag instead, which has the same
effect. In C99 mode (\fB\-std=c99\fR or \fB\-std=gnu99\fR), this
switch only affects the \f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`typeof\*(C'\fR keywords, since
-\&\f(CW\*(C`inline\*(C'\fR is a standard keyword in \s-1ISO\s0 C99.
+\&\f(CW\*(C`inline\*(C'\fR is a standard keyword in \s-1ISO C99.\s0
.IP "\fB\-fno\-builtin\fR" 4
.IX Item "-fno-builtin"
.PD 0
@@ -1883,7 +1903,7 @@ known not to modify global memory.
With the \fB\-fno\-builtin\-\fR\fIfunction\fR option
only the built-in function \fIfunction\fR is
disabled. \fIfunction\fR must not begin with \fB_\|_builtin_\fR. If a
-function is named that is not built-in in this version of \s-1GCC\s0, this
+function is named that is not built-in in this version of \s-1GCC,\s0 this
option is ignored. There is no corresponding
\&\fB\-fbuiltin\-\fR\fIfunction\fR option; if you wish to enable
built-in functions selectively when using \fB\-fno\-builtin\fR or
@@ -1907,6 +1927,18 @@ implies \fB\-fno\-builtin\fR. A freestanding environment
is one in which the standard library may not exist, and program startup may
not necessarily be at \f(CW\*(C`main\*(C'\fR. The most obvious example is an \s-1OS\s0 kernel.
This is equivalent to \fB\-fno\-hosted\fR.
+.IP "\fB\-fopenacc\fR" 4
+.IX Item "-fopenacc"
+Enable handling of OpenACC directives \f(CW\*(C`#pragma acc\*(C'\fR in C/\*(C+ and
+\&\f(CW\*(C`!$acc\*(C'\fR in Fortran. When \fB\-fopenacc\fR is specified, the
+compiler generates accelerated code according to the OpenACC Application
+Programming Interface v2.0 <\fBhttp://www.openacc.org/\fR>. This option
+implies \fB\-pthread\fR, and thus is only supported on targets that
+have support for \fB\-pthread\fR.
+.Sp
+Note that this is an experimental feature, incomplete, and subject to
+change in future versions of \s-1GCC. \s0 See
+<\fBhttps://gcc.gnu.org/wiki/OpenACC\fR> for more information.
.IP "\fB\-fopenmp\fR" 4
.IX Item "-fopenmp"
Enable handling of OpenMP directives \f(CW\*(C`#pragma omp\*(C'\fR in C/\*(C+ and
@@ -1937,7 +1969,7 @@ When the option \fB\-fgnu\-tm\fR is specified, the compiler
generates code for the Linux variant of Intel's current Transactional
Memory \s-1ABI\s0 specification document (Revision 1.1, May 6 2009). This is
an experimental feature whose interface may change in future versions
-of \s-1GCC\s0, as the official specification changes. Please note that not
+of \s-1GCC,\s0 as the official specification changes. Please note that not
all architectures are supported for this feature.
.Sp
For more information on \s-1GCC\s0's support for transactional memory,
@@ -1961,7 +1993,7 @@ to previous types declarations.
Some cases of unnamed fields in structures and unions are only
accepted with this option.
.Sp
-Note that this option is off for all targets but i?86 and x86_64
+Note that this option is off for all targets but x86
targets using ms-abi.
.IP "\fB\-fplan9\-extensions\fR" 4
.IX Item "-fplan9-extensions"
@@ -1974,8 +2006,8 @@ fields declared using a typedef. This is only
supported for C, not \*(C+.
.IP "\fB\-trigraphs\fR" 4
.IX Item "-trigraphs"
-Support \s-1ISO\s0 C trigraphs. The \fB\-ansi\fR option (and \fB\-std\fR
-options for strict \s-1ISO\s0 C conformance) implies \fB\-trigraphs\fR.
+Support \s-1ISO C\s0 trigraphs. The \fB\-ansi\fR option (and \fB\-std\fR
+options for strict \s-1ISO C\s0 conformance) implies \fB\-trigraphs\fR.
.IP "\fB\-traditional\fR" 4
.IX Item "-traditional"
.PD 0
@@ -1984,8 +2016,8 @@ options for strict \s-1ISO\s0 C conformance) implies \fB\-trigraphs\fR.
.PD
Formerly, these options caused \s-1GCC\s0 to attempt to emulate a pre-standard
C compiler. They are now only supported with the \fB\-E\fR switch.
-The preprocessor continues to support a pre-standard mode. See the \s-1GNU\s0
-\&\s-1CPP\s0 manual for details.
+The preprocessor continues to support a pre-standard mode. See the \s-1GNU
+CPP\s0 manual for details.
.IP "\fB\-fcond\-mismatch\fR" 4
.IX Item "-fcond-mismatch"
Allow conditional expressions with mismatched types in the second and
@@ -2036,7 +2068,7 @@ declaration does not use either \f(CW\*(C`signed\*(C'\fR or \f(CW\*(C`unsigned\*
default, such a bit-field is signed, because this is consistent: the
basic integer types such as \f(CW\*(C`int\*(C'\fR are signed types.
.SS "Options Controlling \*(C+ Dialect"
-.IX Subsection "Options Controlling Dialect"
+.IX Subsection "Options Controlling Dialect"
This section describes the command-line options that are only meaningful
for \*(C+ programs. You can also use most of the \s-1GNU\s0 compiler options
regardless of what language your program is in. For example, you
@@ -2048,12 +2080,12 @@ might compile a file \fIfirstClass.C\fR like this:
.PP
In this example, only \fB\-frepo\fR is an option meant
only for \*(C+ programs; you can use the other options with any
-language supported by \s-1GCC\s0.
+language supported by \s-1GCC.\s0
.PP
Here is a list of options that are \fIonly\fR for compiling \*(C+ programs:
.IP "\fB\-fabi\-version=\fR\fIn\fR" 4
.IX Item "-fabi-version=n"
-Use version \fIn\fR of the \*(C+ \s-1ABI\s0. The default is version 0.
+Use version \fIn\fR of the \*(C+ \s-1ABI. \s0 The default is version 0.
.Sp
Version 0 refers to the version conforming most closely to
the \*(C+ \s-1ABI\s0 specification. Therefore, the \s-1ABI\s0 obtained using version 0
@@ -2090,7 +2122,7 @@ behavior of function types with function-cv-qualifiers.
See also \fB\-Wabi\fR.
.IP "\fB\-fabi\-compat\-version=\fR\fIn\fR" 4
.IX Item "-fabi-compat-version=n"
-Starting with \s-1GCC\s0 4.5, on targets that support strong aliases, G++
+On targets that support strong aliases, G++
works around mangling changes by creating an alias with the correct
mangled name when defining a symbol with an incorrect mangled name.
This switch specifies which \s-1ABI\s0 version to use for the alias.
@@ -2146,11 +2178,10 @@ deprecated, and may be removed in a future version of G++.
Inject friend functions into the enclosing namespace, so that they are
visible outside the scope of the class in which they are declared.
Friend functions were documented to work this way in the old Annotated
-\&\*(C+ Reference Manual, and versions of G++ before 4.1 always worked
-that way. However, in \s-1ISO\s0 \*(C+ a friend function that is not declared
+\&\*(C+ Reference Manual.
+However, in \s-1ISO \*(C+\s0 a friend function that is not declared
in an enclosing scope can only be found using argument dependent
-lookup. This option causes friends to be injected as they were in
-earlier releases.
+lookup. \s-1GCC\s0 defaults to the standard behavior.
.Sp
This option is for compatibility, and may be removed in a future
release of G++.
@@ -2231,12 +2262,12 @@ controlled by \f(CW\*(C`#pragma implementation\*(C'\fR. This causes linker
errors if these functions are not inlined everywhere they are called.
.IP "\fB\-fms\-extensions\fR" 4
.IX Item "-fms-extensions"
-Disable Wpedantic warnings about constructs used in \s-1MFC\s0, such as implicit
+Disable Wpedantic warnings about constructs used in \s-1MFC,\s0 such as implicit
int and getting a pointer to member function via non-standard syntax.
.IP "\fB\-fno\-nonansi\-builtins\fR" 4
.IX Item "-fno-nonansi-builtins"
Disable built-in declarations of functions that are not mandated by
-\&\s-1ANSI/ISO\s0 C. These include \f(CW\*(C`ffs\*(C'\fR, \f(CW\*(C`alloca\*(C'\fR, \f(CW\*(C`_exit\*(C'\fR,
+\&\s-1ANSI/ISO C. \s0 These include \f(CW\*(C`ffs\*(C'\fR, \f(CW\*(C`alloca\*(C'\fR, \f(CW\*(C`_exit\*(C'\fR,
\&\f(CW\*(C`index\*(C'\fR, \f(CW\*(C`bzero\*(C'\fR, \f(CW\*(C`conjf\*(C'\fR, and other related functions.
.IP "\fB\-fnothrow\-opt\fR" 4
.IX Item "-fnothrow-opt"
@@ -2324,7 +2355,7 @@ warning or error to \fIn\fR. The default value is 10.
.IX Item "-ftemplate-depth=n"
Set the maximum instantiation depth for template classes to \fIn\fR.
A limit on the template instantiation depth is needed to detect
-endless recursions during template class instantiation. \s-1ANSI/ISO\s0 \*(C+
+endless recursions during template class instantiation. \s-1ANSI/ISO \*(C+\s0
conforming programs must not rely on a maximum depth greater than 17
(changed to 1024 in \*(C+11). The default value is 900, as the compiler
can run out of stack space before hitting 1024 in some situations.
@@ -2355,7 +2386,7 @@ are taken in different shared objects.
The effect of this is that \s-1GCC\s0 may, effectively, mark inline methods with
\&\f(CW\*(C`_\|_attribute_\|_ ((visibility ("hidden")))\*(C'\fR so that they do not
appear in the export table of a \s-1DSO\s0 and do not require a \s-1PLT\s0 indirection
-when used within the \s-1DSO\s0. Enabling this option can have a dramatic effect
+when used within the \s-1DSO. \s0 Enabling this option can have a dramatic effect
on load and link times of a \s-1DSO\s0 as it massively reduces the size of the
dynamic export table when the library makes heavy use of templates.
.Sp
@@ -2475,10 +2506,10 @@ is used when building the \*(C+ library.)
In addition, these optimization, warning, and code generation options
have meanings only for \*(C+ programs:
.IP "\fB\-Wabi\fR (C, Objective-C, \*(C+ and Objective\-\*(C+ only)" 4
-.IX Item "-Wabi (C, Objective-C, and Objective- only)"
+.IX Item "-Wabi (C, Objective-C, and Objective- only)"
When an explicit \fB\-fabi\-version=\fR\fIn\fR option is used, causes
G++ to warn when it generates code that is probably not compatible with the
-vendor-neutral \*(C+ \s-1ABI\s0. Since G++ now defaults to
+vendor-neutral \*(C+ \s-1ABI. \s0 Since G++ now defaults to
\&\fB\-fabi\-version=0\fR, \fB\-Wabi\fR has no effect unless either
an older \s-1ABI\s0 version is selected (with \fB\-fabi\-version=\fR\fIn\fR)
or an older compatibility version is selected (with
@@ -2501,7 +2532,7 @@ level, e.g. \fB\-Wabi=2\fR to warn about changes relative to
\&\fB\-fabi\-compat\-version=\fR\fIn\fR.
.Sp
The known incompatibilities in \fB\-fabi\-version=2\fR (which was the
-default from \s-1GCC\s0 3.4 to 4.9) include:
+default from \s-1GCC 3.4\s0 to 4.9) include:
.RS 4
.IP "*" 4
A template with a non-type template parameter of reference type was
@@ -2529,7 +2560,7 @@ These mangling issues were fixed in \fB\-fabi\-version=5\fR.
Scoped enumerators passed as arguments to a variadic function are
promoted like unscoped enumerators, causing \f(CW\*(C`va_arg\*(C'\fR to complain.
On most targets this does not actually affect the parameter passing
-\&\s-1ABI\s0, as there is no way to pass an argument smaller than \f(CW\*(C`int\*(C'\fR.
+\&\s-1ABI,\s0 as there is no way to pass an argument smaller than \f(CW\*(C`int\*(C'\fR.
.Sp
Also, the \s-1ABI\s0 changed the mangling of template argument packs,
\&\f(CW\*(C`const_cast\*(C'\fR, \f(CW\*(C`static_cast\*(C'\fR, prefix increment/decrement, and
@@ -2567,6 +2598,11 @@ passed in memory as specified in psABI. For example:
.RE
.RS 4
.RE
+.IP "\fB\-Wabi\-tag\fR (\*(C+ and Objective\-\*(C+ only)" 4
+.IX Item "-Wabi-tag ( and Objective- only)"
+Warn when a type with an \s-1ABI\s0 tag is used in a context that does not
+have that \s-1ABI\s0 tag. See \fB\*(C+ Attributes\fR for more information
+about \s-1ABI\s0 tags.
.IP "\fB\-Wctor\-dtor\-privacy\fR (\*(C+ and Objective\-\*(C+ only)" 4
.IX Item "-Wctor-dtor-privacy ( and Objective- only)"
Warn when a class seems unusable because all the constructors or
@@ -2657,7 +2693,7 @@ This is on by default for all pre\-\*(C+11 dialects and all \s-1GNU\s0 dialects:
\&\fB\-std=c++98\fR, \fB\-std=gnu++98\fR, \fB\-std=gnu++11\fR,
\&\fB\-std=gnu++14\fR.
This option is off by default
-for \s-1ISO\s0 \*(C+11 onwards (\fB\-std=c++11\fR, ...).
+for \s-1ISO \*(C+11\s0 onwards (\fB\-std=c++11\fR, ...).
.PP
The following \fB\-W...\fR options are not affected by \fB\-Wall\fR.
.IP "\fB\-Weffc++\fR (\*(C+ and Objective\-\*(C+ only)" 4
@@ -2769,7 +2805,7 @@ For example, you might compile a file \fIsome_class.m\fR like this:
.PP
In this example, \fB\-fgnu\-runtime\fR is an option meant only for
Objective-C and Objective\-\*(C+ programs; you can use the other options with
-any language supported by \s-1GCC\s0.
+any language supported by \s-1GCC.\s0
.PP
Note that since Objective-C is an extension of the C language, Objective-C
compilations may also use options specific to the C front-end (e.g.,
@@ -2794,7 +2830,7 @@ runtime. This is the default for most types of systems.
.IP "\fB\-fnext\-runtime\fR" 4
.IX Item "-fnext-runtime"
Generate output compatible with the NeXT runtime. This is the default
-for NeXT-based systems, including Darwin and Mac \s-1OS\s0 X. The macro
+for NeXT-based systems, including Darwin and Mac \s-1OS X. \s0 The macro
\&\f(CW\*(C`_\|_NEXT_RUNTIME_\|_\*(C'\fR is predefined if (and only if) this option is
used.
.IP "\fB\-fno\-nil\-receivers\fR" 4
@@ -2811,7 +2847,7 @@ This option is currently supported only for the NeXT runtime. In that
case, Version 0 is the traditional (32\-bit) \s-1ABI\s0 without support for
properties and other Objective-C 2.0 additions. Version 1 is the
traditional (32\-bit) \s-1ABI\s0 with support for properties and other
-Objective-C 2.0 additions. Version 2 is the modern (64\-bit) \s-1ABI\s0. If
+Objective-C 2.0 additions. Version 2 is the modern (64\-bit) \s-1ABI. \s0 If
nothing is specified, the default is Version 0 on 32\-bit target
machines, and Version 2 on 64\-bit target machines.
.IP "\fB\-fobjc\-call\-cxx\-cdtors\fR" 4
@@ -2835,7 +2871,7 @@ by the runtime immediately after a new object instance is allocated;
the \f(CW\*(C`\- (void) .cxx_destruct\*(C'\fR methods are invoked immediately
before the runtime deallocates an object instance.
.Sp
-As of this writing, only the NeXT runtime on Mac \s-1OS\s0 X 10.4 and later has
+As of this writing, only the NeXT runtime on Mac \s-1OS X 10.4\s0 and later has
support for invoking the \f(CW\*(C`\- (id) .cxx_construct\*(C'\fR and
\&\f(CW\*(C`\- (void) .cxx_destruct\*(C'\fR methods.
.IP "\fB\-fobjc\-direct\-dispatch\fR" 4
@@ -2850,7 +2886,7 @@ is required to use the Objective-C keywords \f(CW@try\fR,
\&\f(CW@throw\fR, \f(CW@catch\fR, \f(CW@finally\fR and
\&\f(CW@synchronized\fR. This option is available with both the \s-1GNU\s0
runtime and the NeXT runtime (but not available in conjunction with
-the NeXT runtime on Mac \s-1OS\s0 X 10.2 and earlier).
+the NeXT runtime on Mac \s-1OS X 10.2\s0 and earlier).
.IP "\fB\-fobjc\-gc\fR" 4
.IX Item "-fobjc-gc"
Enable garbage collection (\s-1GC\s0) in Objective-C and Objective\-\*(C+
@@ -2859,23 +2895,23 @@ programs. This option is only available with the NeXT runtime; the
does not require special compiler flags.
.IP "\fB\-fobjc\-nilcheck\fR" 4
.IX Item "-fobjc-nilcheck"
-For the NeXT runtime with version 2 of the \s-1ABI\s0, check for a nil
+For the NeXT runtime with version 2 of the \s-1ABI,\s0 check for a nil
receiver in method invocations before doing the actual method call.
This is the default and can be disabled using
\&\fB\-fno\-objc\-nilcheck\fR. Class methods and super calls are never
checked for nil in this way no matter what this flag is set to.
Currently this flag does nothing when the \s-1GNU\s0 runtime, or an older
-version of the NeXT runtime \s-1ABI\s0, is used.
+version of the NeXT runtime \s-1ABI,\s0 is used.
.IP "\fB\-fobjc\-std=objc1\fR" 4
.IX Item "-fobjc-std=objc1"
Conform to the language syntax of Objective-C 1.0, the language
-recognized by \s-1GCC\s0 4.0. This only affects the Objective-C additions to
+recognized by \s-1GCC 4.0. \s0 This only affects the Objective-C additions to
the C/\*(C+ language; it does not affect conformance to C/\*(C+ standards,
which is controlled by the separate C/\*(C+ dialect option flags. When
this option is used with the Objective-C or Objective\-\*(C+ compiler,
-any Objective-C syntax that is not recognized by \s-1GCC\s0 4.0 is rejected.
+any Objective-C syntax that is not recognized by \s-1GCC 4.0\s0 is rejected.
This is useful if you need to make sure that your Objective-C code can
-be compiled with older versions of \s-1GCC\s0.
+be compiled with older versions of \s-1GCC.\s0
.IP "\fB\-freplace\-objc\-classes\fR" 4
.IX Item "-freplace-objc-classes"
Emit a special marker instructing \fB\f(BIld\fB\|(1)\fR not to statically link in
@@ -2884,7 +2920,7 @@ run time instead. This is used in conjunction with the Fix-and-Continue
debugging mode, where the object file in question may be recompiled and
dynamically reloaded in the course of program execution, without the need
to restart the program itself. Currently, Fix-and-Continue functionality
-is only available in conjunction with the NeXT runtime on Mac \s-1OS\s0 X 10.3
+is only available in conjunction with the NeXT runtime on Mac \s-1OS X 10.3\s0
and later.
.IP "\fB\-fzero\-link\fR" 4
.IX Item "-fzero-link"
@@ -3082,7 +3118,7 @@ option is known to the diagnostic machinery). Specifying the
By default, each diagnostic emitted includes the original source line
and a caret '^' indicating the column. This option suppresses this
information. The source line is truncated to \fIn\fR characters, if
-the \fB\-fmessage\-length=n\fR is given. When the output is done
+the \fB\-fmessage\-length=n\fR option is given. When the output is done
to the terminal, the width is limited to the width given by the
\&\fB\s-1COLUMNS\s0\fR environment variable or, if not set, to the terminal width.
.SS "Options to Request or Suppress Warnings"
@@ -3092,7 +3128,7 @@ are not inherently erroneous but that are risky or suggest there
may have been an error.
.PP
The following language-independent options do not enable specific
-warnings but control the kinds of diagnostics produced by \s-1GCC\s0.
+warnings but control the kinds of diagnostics produced by \s-1GCC.\s0
.IP "\fB\-fsyntax\-only\fR" 4
.IX Item "-fsyntax-only"
Check the code for syntax errors, but don't do anything beyond that.
@@ -3167,14 +3203,14 @@ warns that an unrecognized option is present.
.IP "\fB\-pedantic\fR" 4
.IX Item "-pedantic"
.PD
-Issue all the warnings demanded by strict \s-1ISO\s0 C and \s-1ISO\s0 \*(C+;
+Issue all the warnings demanded by strict \s-1ISO C\s0 and \s-1ISO \*(C+\s0;
reject all programs that use forbidden extensions, and some other
-programs that do not follow \s-1ISO\s0 C and \s-1ISO\s0 \*(C+. For \s-1ISO\s0 C, follows the
-version of the \s-1ISO\s0 C standard specified by any \fB\-std\fR option used.
+programs that do not follow \s-1ISO C\s0 and \s-1ISO \*(C+. \s0 For \s-1ISO C,\s0 follows the
+version of the \s-1ISO C\s0 standard specified by any \fB\-std\fR option used.
.Sp
-Valid \s-1ISO\s0 C and \s-1ISO\s0 \*(C+ programs should compile properly with or without
+Valid \s-1ISO C\s0 and \s-1ISO \*(C+\s0 programs should compile properly with or without
this option (though a rare few require \fB\-ansi\fR or a
-\&\fB\-std\fR option specifying the required version of \s-1ISO\s0 C). However,
+\&\fB\-std\fR option specifying the required version of \s-1ISO C\s0). However,
without this option, certain \s-1GNU\s0 extensions and traditional C and \*(C+
features are supported as well. With this option, they are rejected.
.Sp
@@ -3184,24 +3220,24 @@ warnings are also disabled in the expression that follows
\&\f(CW\*(C`_\|_extension_\|_\*(C'\fR. However, only system header files should use
these escape routes; application programs should avoid them.
.Sp
-Some users try to use \fB\-Wpedantic\fR to check programs for strict \s-1ISO\s0
-C conformance. They soon find that it does not do quite what they want:
+Some users try to use \fB\-Wpedantic\fR to check programs for strict \s-1ISO
+C\s0 conformance. They soon find that it does not do quite what they want:
it finds some non-ISO practices, but not all\-\-\-only those for which
-\&\s-1ISO\s0 C \fIrequires\fR a diagnostic, and some others for which
+\&\s-1ISO C \s0\fIrequires\fR a diagnostic, and some others for which
diagnostics have been added.
.Sp
-A feature to report any failure to conform to \s-1ISO\s0 C might be useful in
+A feature to report any failure to conform to \s-1ISO C\s0 might be useful in
some instances, but would require considerable additional work and would
be quite different from \fB\-Wpedantic\fR. We don't have plans to
support such a feature in the near future.
.Sp
Where the standard specified with \fB\-std\fR represents a \s-1GNU\s0
extended dialect of C, such as \fBgnu90\fR or \fBgnu99\fR, there is a
-corresponding \fIbase standard\fR, the version of \s-1ISO\s0 C on which the \s-1GNU\s0
+corresponding \fIbase standard\fR, the version of \s-1ISO C\s0 on which the \s-1GNU\s0
extended dialect is based. Warnings from \fB\-Wpedantic\fR are given
where they are required by the base standard. (It does not make sense
-for such warnings to be given only for features not in the specified \s-1GNU\s0
-C dialect, since by definition the \s-1GNU\s0 dialects of C include all
+for such warnings to be given only for features not in the specified \s-1GNU
+C\s0 dialect, since by definition the \s-1GNU\s0 dialects of C include all
features the compiler supports with the given option, and there would be
nothing to warn about.)
.IP "\fB\-pedantic\-errors\fR" 4
@@ -3223,7 +3259,7 @@ Options\fR and \fBObjective-C and Objective\-\*(C+ Dialect Options\fR.
\&\fB\-Wall\fR turns on the following warning flags:
.Sp
\&\fB\-Waddress
-\&\-Warray\-bounds\fR (only with\fB \fR\fB\-O2\fR)
+\&\-Warray\-bounds=1\fR (only with\fB \fR\fB\-O2\fR)
\&\fB\-Wc++11\-compat \-Wc++14\-compat
\&\-Wchar\-subscripts
\&\-Wenum\-compare\fR (in C/ObjC; this is on by default in \*(C+)
@@ -3373,7 +3409,7 @@ functions without the attribute specified are disabled by
\&\fB\-ffreestanding\fR or \fB\-fno\-builtin\fR.
.Sp
The formats are checked against the format features supported by \s-1GNU\s0
-libc version 2.2. These include all \s-1ISO\s0 C90 and C99 features, as well
+libc version 2.2. These include all \s-1ISO C90\s0 and C99 features, as well
as features from the Single Unix Specification and some \s-1BSD\s0 and \s-1GNU\s0
extensions. Other library implementations may not support all these
features; \s-1GCC\s0 does not support warning about features that go beyond a
@@ -3421,7 +3457,7 @@ The C standard specifies that zero-length formats are allowed.
.IX Item "-Wformat=2"
Enable \fB\-Wformat\fR plus additional format checks. Currently
equivalent to \fB\-Wformat \-Wformat\-nonliteral \-Wformat\-security
-\&\-Wformat\-signedness \-Wformat\-y2k\fR.
+\&\-Wformat\-y2k\fR.
.IP "\fB\-Wformat\-nonliteral\fR" 4
.IX Item "-Wformat-nonliteral"
If \fB\-Wformat\fR is specified, also warn if the format string is not a
@@ -3489,12 +3525,12 @@ enabled by default and it is made into an error by
Same as \fB\-Wimplicit\-int\fR and \fB\-Wimplicit\-function\-declaration\fR.
This warning is enabled by \fB\-Wall\fR.
.IP "\fB\-Wignored\-qualifiers\fR (C and \*(C+ only)" 4
-.IX Item "-Wignored-qualifiers (C and only)"
+.IX Item "-Wignored-qualifiers (C and only)"
Warn if the return type of a function has a type qualifier
-such as \f(CW\*(C`const\*(C'\fR. For \s-1ISO\s0 C such a type qualifier has no effect,
+such as \f(CW\*(C`const\*(C'\fR. For \s-1ISO C\s0 such a type qualifier has no effect,
since the value returned by a function is not an lvalue.
For \*(C+, the warning is only emitted for scalar types or \f(CW\*(C`void\*(C'\fR.
-\&\s-1ISO\s0 C prohibits qualified \f(CW\*(C`void\*(C'\fR return types on function
+\&\s-1ISO C\s0 prohibits qualified \f(CW\*(C`void\*(C'\fR return types on function
definitions, so such return types always receive a warning
even without this option.
.Sp
@@ -3681,9 +3717,9 @@ expression to a type other than \f(CW\*(C`bool\*(C'\fR. For example:
.Sp
This warning is enabled by default for C and \*(C+ programs.
.IP "\fB\-Wsync\-nand\fR (C and \*(C+ only)" 4
-.IX Item "-Wsync-nand (C and only)"
+.IX Item "-Wsync-nand (C and only)"
Warn when \f(CW\*(C`_\|_sync_fetch_and_nand\*(C'\fR and \f(CW\*(C`_\|_sync_nand_and_fetch\*(C'\fR
-built-in functions are used. These functions changed semantics in \s-1GCC\s0 4.4.
+built-in functions are used. These functions changed semantics in \s-1GCC 4.4.\s0
.IP "\fB\-Wtrigraphs\fR" 4
.IX Item "-Wtrigraphs"
Warn if any trigraphs are encountered that might change the meaning of
@@ -3720,7 +3756,7 @@ This warning is enabled by \fB\-Wall\fR.
.Sp
To suppress this warning use the \f(CW\*(C`unused\*(C'\fR attribute.
.IP "\fB\-Wunused\-local\-typedefs\fR (C, Objective-C, \*(C+ and Objective\-\*(C+ only)" 4
-.IX Item "-Wunused-local-typedefs (C, Objective-C, and Objective- only)"
+.IX Item "-Wunused-local-typedefs (C, Objective-C, and Objective- only)"
Warn when a typedef locally defined in a function is not used.
This warning is enabled by \fB\-Wall\fR.
.IP "\fB\-Wunused\-parameter\fR" 4
@@ -3827,7 +3863,7 @@ This warning is enabled by \fB\-Wall\fR or \fB\-Wextra\fR.
.IP "\fB\-Wunknown\-pragmas\fR" 4
.IX Item "-Wunknown-pragmas"
Warn when a \f(CW\*(C`#pragma\*(C'\fR directive is encountered that is not understood by
-\&\s-1GCC\s0. If this command-line option is used, warnings are even issued
+\&\s-1GCC. \s0 If this command-line option is used, warnings are even issued
for unknown pragmas in system header files. This is not the case if
the warnings are only enabled by the \fB\-Wall\fR command-line option.
.IP "\fB\-Wno\-pragmas\fR" 4
@@ -3950,7 +3986,7 @@ Warn about functions that might be candidates for attributes
functions visible in other compilation units or (in the case of \f(CW\*(C`pure\*(C'\fR and
\&\f(CW\*(C`const\*(C'\fR) if it cannot prove that the function returns normally. A function
returns normally if it doesn't contain an infinite loop or return abnormally
-by throwing, calling \f(CW\*(C`abort()\*(C'\fR or trapping. This analysis requires option
+by throwing, calling \f(CW\*(C`abort\*(C'\fR or trapping. This analysis requires option
\&\fB\-fipa\-pure\-const\fR, which is enabled by default at \fB\-O\fR and
higher. Higher optimization levels improve the accuracy of the analysis.
.IP "\fB\-Wsuggest\-attribute=format\fR" 4
@@ -4005,9 +4041,27 @@ Warn about overriding virtual functions that are not marked with the override
keyword.
.IP "\fB\-Warray\-bounds\fR" 4
.IX Item "-Warray-bounds"
+.PD 0
+.IP "\fB\-Warray\-bounds=\fR\fIn\fR" 4
+.IX Item "-Warray-bounds=n"
+.PD
This option is only active when \fB\-ftree\-vrp\fR is active
(default for \fB\-O2\fR and above). It warns about subscripts to arrays
that are always out of bounds. This warning is enabled by \fB\-Wall\fR.
+.RS 4
+.IP "\fB\-Warray\-bounds=1\fR" 4
+.IX Item "-Warray-bounds=1"
+This is the warning level of \fB\-Warray\-bounds\fR and is enabled
+by \fB\-Wall\fR; higher levels are not, and must be explicitly requested.
+.IP "\fB\-Warray\-bounds=2\fR" 4
+.IX Item "-Warray-bounds=2"
+This warning level also warns about out of bounds access for
+arrays at the end of a struct and for arrays accessed through
+pointers. This warning level may give a larger number of
+false positives and is deactivated by default.
+.RE
+.RS 4
+.RE
.IP "\fB\-Wbool\-compare\fR" 4
.IX Item "-Wbool-compare"
Warn about boolean expression compared with an integer value different from
@@ -4087,13 +4141,13 @@ probably mistaken.
.IP "\fB\-Wtraditional\fR (C and Objective-C only)" 4
.IX Item "-Wtraditional (C and Objective-C only)"
Warn about certain constructs that behave differently in traditional and
-\&\s-1ISO\s0 C. Also warn about \s-1ISO\s0 C constructs that have no traditional C
+\&\s-1ISO C. \s0 Also warn about \s-1ISO C\s0 constructs that have no traditional C
equivalent, and/or problematic constructs that should be avoided.
.RS 4
.IP "*" 4
Macro parameters that appear within string literals in the macro body.
In traditional C macro replacement takes place within string literals,
-but in \s-1ISO\s0 C it does not.
+but in \s-1ISO C\s0 it does not.
.IP "*" 4
In traditional C, some preprocessor directives did not exist.
Traditional preprocessors only considered a line to be a directive
@@ -4148,9 +4202,9 @@ versa. The absence of these prototypes when compiling with traditional
C causes serious problems. This is a subset of the possible
conversion warnings; for the full set use \fB\-Wtraditional\-conversion\fR.
.IP "*" 4
-Use of \s-1ISO\s0 C style function definitions. This warning intentionally is
+Use of \s-1ISO C\s0 style function definitions. This warning intentionally is
\&\fInot\fR issued for prototype declarations or variadic functions
-because these \s-1ISO\s0 C features appear in your code when using
+because these \s-1ISO C\s0 features appear in your code when using
libiberty's traditional C compatibility macros, \f(CW\*(C`PARAMS\*(C'\fR and
\&\f(CW\*(C`VPARAMS\*(C'\fR. This warning is also bypassed for nested functions
because that feature is already a \s-1GCC\s0 extension and thus not relevant to
@@ -4168,9 +4222,8 @@ except when the same as the default promotion.
.IP "\fB\-Wdeclaration\-after\-statement\fR (C and Objective-C only)" 4
.IX Item "-Wdeclaration-after-statement (C and Objective-C only)"
Warn when a declaration is found after a statement in a block. This
-construct, known from \*(C+, was introduced with \s-1ISO\s0 C99 and is by default
-allowed in \s-1GCC\s0. It is not supported by \s-1ISO\s0 C90 and was not supported by
-\&\s-1GCC\s0 versions before \s-1GCC\s0 3.0.
+construct, known from \*(C+, was introduced with \s-1ISO C99\s0 and is by default
+allowed in \s-1GCC. \s0 It is not supported by \s-1ISO C90. \s0
.IP "\fB\-Wundef\fR" 4
.IX Item "-Wundef"
Warn if an undefined identifier is evaluated in an \f(CW\*(C`#if\*(C'\fR directive.
@@ -4252,7 +4305,7 @@ which depend on the \s-1MS\s0 runtime.
.IP "\fB\-Wpointer\-arith\fR" 4
.IX Item "-Wpointer-arith"
Warn about anything that depends on the \*(L"size of\*(R" a function type or
-of \f(CW\*(C`void\*(C'\fR. \s-1GNU\s0 C assigns these types a size of 1, for
+of \f(CW\*(C`void\*(C'\fR. \s-1GNU C\s0 assigns these types a size of 1, for
convenience in calculations with \f(CW\*(C`void *\*(C'\fR pointers and pointers
to functions. In \*(C+, warn also when an arithmetic operation involves
\&\f(CW\*(C`NULL\*(C'\fR. This warning is also enabled by \fB\-Wpedantic\fR.
@@ -4265,18 +4318,19 @@ example, warn if an unsigned variable is compared against zero with
\&\fB\-Wextra\fR.
.IP "\fB\-Wbad\-function\-cast\fR (C and Objective-C only)" 4
.IX Item "-Wbad-function-cast (C and Objective-C only)"
-Warn whenever a function call is cast to a non-matching type.
-For example, warn if \f(CW\*(C`int malloc()\*(C'\fR is cast to \f(CW\*(C`anything *\*(C'\fR.
+Warn when a function call is cast to a non-matching type.
+For example, warn if a call to a function returning an integer type
+is cast to a pointer type.
.IP "\fB\-Wc90\-c99\-compat\fR (C and Objective-C only)" 4
.IX Item "-Wc90-c99-compat (C and Objective-C only)"
-Warn about features not present in \s-1ISO\s0 C90, but present in \s-1ISO\s0 C99.
+Warn about features not present in \s-1ISO C90,\s0 but present in \s-1ISO C99.\s0
For instance, warn about use of variable length arrays, \f(CW\*(C`long long\*(C'\fR
type, \f(CW\*(C`bool\*(C'\fR type, compound literals, designated initializers, and so
on. This option is independent of the standards mode. Warnings are disabled
in the expression that follows \f(CW\*(C`_\|_extension_\|_\*(C'\fR.
.IP "\fB\-Wc99\-c11\-compat\fR (C and Objective-C only)" 4
.IX Item "-Wc99-c11-compat (C and Objective-C only)"
-Warn about features not present in \s-1ISO\s0 C99, but present in \s-1ISO\s0 C11.
+Warn about features not present in \s-1ISO C99,\s0 but present in \s-1ISO C11.\s0
For instance, warn about use of anonymous structures and unions,
\&\f(CW\*(C`_Atomic\*(C'\fR type qualifier, \f(CW\*(C`_Thread_local\*(C'\fR storage-class specifier,
\&\f(CW\*(C`_Alignas\*(C'\fR specifier, \f(CW\*(C`Alignof\*(C'\fR operator, \f(CW\*(C`_Generic\*(C'\fR keyword,
@@ -4284,19 +4338,19 @@ and so on. This option is independent of the standards mode. Warnings are
disabled in the expression that follows \f(CW\*(C`_\|_extension_\|_\*(C'\fR.
.IP "\fB\-Wc++\-compat\fR (C and Objective-C only)" 4
.IX Item "-Wc++-compat (C and Objective-C only)"
-Warn about \s-1ISO\s0 C constructs that are outside of the common subset of
-\&\s-1ISO\s0 C and \s-1ISO\s0 \*(C+, e.g. request for implicit conversion from
+Warn about \s-1ISO C\s0 constructs that are outside of the common subset of
+\&\s-1ISO C\s0 and \s-1ISO \*(C+,\s0 e.g. request for implicit conversion from
\&\f(CW\*(C`void *\*(C'\fR to a pointer to non\-\f(CW\*(C`void\*(C'\fR type.
.IP "\fB\-Wc++11\-compat\fR (\*(C+ and Objective\-\*(C+ only)" 4
.IX Item "-Wc++11-compat ( and Objective- only)"
-Warn about \*(C+ constructs whose meaning differs between \s-1ISO\s0 \*(C+ 1998
-and \s-1ISO\s0 \*(C+ 2011, e.g., identifiers in \s-1ISO\s0 \*(C+ 1998 that are keywords
-in \s-1ISO\s0 \*(C+ 2011. This warning turns on \fB\-Wnarrowing\fR and is
+Warn about \*(C+ constructs whose meaning differs between \s-1ISO \*(C+ 1998\s0
+and \s-1ISO \*(C+ 2011,\s0 e.g., identifiers in \s-1ISO \*(C+ 1998\s0 that are keywords
+in \s-1ISO \*(C+ 2011. \s0 This warning turns on \fB\-Wnarrowing\fR and is
enabled by \fB\-Wall\fR.
.IP "\fB\-Wc++14\-compat\fR (\*(C+ and Objective\-\*(C+ only)" 4
.IX Item "-Wc++14-compat ( and Objective- only)"
-Warn about \*(C+ constructs whose meaning differs between \s-1ISO\s0 \*(C+ 2011
-and \s-1ISO\s0 \*(C+ 2014. This warning is enabled by \fB\-Wall\fR.
+Warn about \*(C+ constructs whose meaning differs between \s-1ISO \*(C+ 2011\s0
+and \s-1ISO \*(C+ 2014. \s0 This warning is enabled by \fB\-Wall\fR.
.IP "\fB\-Wcast\-qual\fR" 4
.IX Item "-Wcast-qual"
Warn whenever a pointer is cast so as to remove a type qualifier from
@@ -4456,10 +4510,10 @@ Warn for suspicious calls to the \f(CW\*(C`memset\*(C'\fR built-in function, if
second argument is not zero and the third argument is zero. This warns e.g.@
about \f(CW\*(C`memset (buf, sizeof buf, 0)\*(C'\fR where most probably
\&\f(CW\*(C`memset (buf, 0, sizeof buf)\*(C'\fR was meant instead. The diagnostics
-is only emitted if the third argument is literal zero, if it is some expression
-that is folded to zero, or e.g. a cast of zero to some type etc., it
-is far less likely that user has mistakenly exchanged the arguments and
-no warning is emitted. This warning is enabled by \fB\-Wall\fR.
+is only emitted if the third argument is literal zero. If it is some
+expression that is folded to zero, a cast of zero to some type, etc.,
+it is far less likely that the user has mistakenly exchanged the arguments
+and no warning is emitted. This warning is enabled by \fB\-Wall\fR.
.IP "\fB\-Waddress\fR" 4
.IX Item "-Waddress"
Warn about suspicious uses of memory addresses. These include using
@@ -4599,26 +4653,26 @@ Usually they indicate a typo in the user's code, as they have
implementation-defined values, and should not be used in portable code.
.IP "\fB\-Wnormalized\fR[\fB=\fR<\fBnone\fR|\fBid\fR|\fBnfc\fR|\fBnfkc\fR>]" 4
.IX Item "-Wnormalized[=]"
-In \s-1ISO\s0 C and \s-1ISO\s0 \*(C+, two identifiers are different if they are
+In \s-1ISO C\s0 and \s-1ISO \*(C+,\s0 two identifiers are different if they are
different sequences of characters. However, sometimes when characters
outside the basic \s-1ASCII\s0 character set are used, you can have two
different character sequences that look the same. To avoid confusion,
-the \s-1ISO\s0 10646 standard sets out some \fInormalization rules\fR which
+the \s-1ISO 10646\s0 standard sets out some \fInormalization rules\fR which
when applied ensure that two sequences that look the same are turned into
the same sequence. \s-1GCC\s0 can warn you if you are using identifiers that
have not been normalized; this option controls that warning.
.Sp
-There are four levels of warning supported by \s-1GCC\s0. The default is
+There are four levels of warning supported by \s-1GCC. \s0 The default is
\&\fB\-Wnormalized=nfc\fR, which warns about any identifier that is
-not in the \s-1ISO\s0 10646 \*(L"C\*(R" normalized form, \fI\s-1NFC\s0\fR. \s-1NFC\s0 is the
+not in the \s-1ISO 10646 \*(L"C\*(R"\s0 normalized form, \fI\s-1NFC\s0\fR. \s-1NFC\s0 is the
recommended form for most uses. It is equivalent to
\&\f

4f5c2ed gcc50: Upgrade to GCC 5.1 release candidate plus
contrib/gcc-5.0/README.DELETED | 28 +-
contrib/gcc-5.0/README.DRAGONFLY | 14 +-
gnu/usr.bin/cc50/Makefile.version | 4 +-
gnu/usr.bin/cc50/drivers/cc/Makefile | 2 +-
gnu/usr.bin/cc50/drivers/cc/gcc.1 | 7534 +++++++++++++++++---------------
gnu/usr.bin/cc50/drivers/cpp/Makefile | 2 +-
gnu/usr.bin/cc50/drivers/cpp/cpp.1 | 75 +-
gnu/usr.bin/cc50/drivers/gcov/Makefile | 2 +-
gnu/usr.bin/cc50/drivers/gcov/gcov.1 | 31 +-
9 files changed, 4000 insertions(+), 3692 deletions(-)

Upstream: gitweb.dragonflybsd.org


  • Share