Message ID | Pine.LNX.4.64.1009291418490.21724@digraph.polyomino.org.uk |
---|---|
State | New |
Headers | show |
On Wed, Sep 29, 2010 at 4:19 PM, Joseph S. Myers <joseph@codesourcery.com> wrote: > This patch (including Fortran and Java pieces, though I consider those > obvious), relative to a tree with > <http://gcc.gnu.org/ml/gcc-patches/2010-09/msg02171.html> (pending > review of the non-front-end pieces) applied, removes the VarExists > markers from .opt files and the documentation for VarExists. As > discussed in that previous message, nothing makes use of VarExists > information after that patch. > > Bootstrapped with no regressions on x86_64-unknown-linux-gnu. OK to > commit? Ok. Thanks, Richard. > 2010-09-29 Joseph Myers <joseph@codesourcery.com> > > * doc/options.texi (Variable, Var, Init): Update documentation > without reference to VarExists. > (VarExists): Remove. > * common.opt, config/i386/i386.opt, config/linux.opt, > config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt: > Don't use VarExists. > > c-family: > 2010-09-29 Joseph Myers <joseph@codesourcery.com> > > * c.opt: Don't use VarExists. > > fortran: > 2010-09-29 Joseph Myers <joseph@codesourcery.com> > > * lang.opt: Don't use VarExists. > > java: > 2010-09-29 Joseph Myers <joseph@codesourcery.com> > > * lang.opt: Don't use VarExists. > > diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/c-family/c.opt gcc-mainline/gcc/c-family/c.opt > --- gcc-mainline-0struct/gcc/c-family/c.opt 2010-09-22 13:21:02.000000000 -0700 > +++ gcc-mainline/gcc/c-family/c.opt 2010-09-29 05:34:21.000000000 -0700 > @@ -966,11 +966,11 @@ C++ ObjC++ Optimization Var(flag_threads > -fno-threadsafe-statics Do not generate thread-safe code for initializing local statics > > funsigned-bitfields > -C ObjC C++ ObjC++ Var(flag_signed_bitfields, 0) VarExists > +C ObjC C++ ObjC++ Var(flag_signed_bitfields, 0) > When \"signed\" or \"unsigned\" is not given make the bitfield unsigned > > funsigned-char > -C ObjC C++ ObjC++ LTO Var(flag_signed_char, 0) VarExists > +C ObjC C++ ObjC++ LTO Var(flag_signed_char, 0) > Make \"char\" unsigned by default > > fuse-cxa-atexit > diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/common.opt gcc-mainline/gcc/common.opt > --- gcc-mainline-0struct/gcc/common.opt 2010-09-27 17:01:33.000000000 -0700 > +++ gcc-mainline/gcc/common.opt 2010-09-29 05:34:15.000000000 -0700 > @@ -1064,7 +1064,7 @@ Common Report Var(flag_merge_constants,2 > Attempt to merge identical constants and constant variables > > fmerge-constants > -Common Report Var(flag_merge_constants,1) VarExists Optimization > +Common Report Var(flag_merge_constants,1) Optimization > Attempt to merge identical constants across compilation units > > fmerge-debug-strings > @@ -1092,7 +1092,7 @@ Common RejectNegative Report Var(flag_mu > Add mudflap bounds-checking instrumentation for single-threaded program > > fmudflapth > -Common RejectNegative Report VarExists Var(flag_mudflap,2) > +Common RejectNegative Report Var(flag_mudflap,2) > Add mudflap bounds-checking instrumentation for multi-threaded program > > fmudflapir > @@ -1172,11 +1172,11 @@ Common Report Var(flag_pie,2) > Generate position-independent code for executables if possible (large mode) > > fpic > -Common Report Var(flag_pic,1) VarExists > +Common Report Var(flag_pic,1) > Generate position-independent code if possible (small mode) > > fpie > -Common Report Var(flag_pie,1) VarExists > +Common Report Var(flag_pie,1) > Generate position-independent code for executables if possible (small mode) > > fplugin= > @@ -1250,7 +1250,7 @@ Common Report Var(flag_record_gcc_switch > Record gcc command line switches in the object file. > > freg-struct-return > -Common Report Var(flag_pcc_struct_return,0) VarExists Optimization > +Common Report Var(flag_pcc_struct_return,0) Optimization > Return small aggregates in registers > > fregmove > @@ -1458,7 +1458,7 @@ Common Report Var(flag_stack_protect, 1) > Use propolice as a stack protection method > > fstack-protector-all > -Common Report RejectNegative Var(flag_stack_protect, 2) VarExists > +Common Report RejectNegative Var(flag_stack_protect, 2) > Use a stack protection method for every function > > fstack-usage > @@ -1818,7 +1818,7 @@ Common RejectNegative Var(dwarf_strict,0 > Emit DWARF additions beyond selected version > > gstrict-dwarf > -Common Report RejectNegative Var(dwarf_strict,1) VarExists > +Common Report RejectNegative Var(dwarf_strict,1) > Don't emit DWARF additions beyond selected version > > gtoggle > diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/config/i386/i386.opt gcc-mainline/gcc/config/i386/i386.opt > --- gcc-mainline-0struct/gcc/config/i386/i386.opt 2010-09-17 07:11:45.000000000 -0700 > +++ gcc-mainline/gcc/config/i386/i386.opt 2010-09-29 05:35:13.000000000 -0700 > @@ -266,111 +266,111 @@ is selected. > ;; ISA support > > m32 > -Target RejectNegative Negative(m64) Report InverseMask(ISA_64BIT) Var(ix86_isa_flags) VarExists Save > +Target RejectNegative Negative(m64) Report InverseMask(ISA_64BIT) Var(ix86_isa_flags) Save > Generate 32bit i386 code > > m64 > -Target RejectNegative Negative(m32) Report Mask(ISA_64BIT) Var(ix86_isa_flags) VarExists Save > +Target RejectNegative Negative(m32) Report Mask(ISA_64BIT) Var(ix86_isa_flags) Save > Generate 64bit x86-64 code > > mmmx > -Target Report Mask(ISA_MMX) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_MMX) Var(ix86_isa_flags) Save > Support MMX built-in functions > > m3dnow > -Target Report Mask(ISA_3DNOW) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_3DNOW) Var(ix86_isa_flags) Save > Support 3DNow! built-in functions > > m3dnowa > -Target Undocumented Mask(ISA_3DNOW_A) Var(ix86_isa_flags) VarExists Save > +Target Undocumented Mask(ISA_3DNOW_A) Var(ix86_isa_flags) Save > Support Athlon 3Dnow! built-in functions > > msse > -Target Report Mask(ISA_SSE) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_SSE) Var(ix86_isa_flags) Save > Support MMX and SSE built-in functions and code generation > > msse2 > -Target Report Mask(ISA_SSE2) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_SSE2) Var(ix86_isa_flags) Save > Support MMX, SSE and SSE2 built-in functions and code generation > > msse3 > -Target Report Mask(ISA_SSE3) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_SSE3) Var(ix86_isa_flags) Save > Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation > > mssse3 > -Target Report Mask(ISA_SSSE3) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_SSSE3) Var(ix86_isa_flags) Save > Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation > > msse4.1 > -Target Report Mask(ISA_SSE4_1) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_SSE4_1) Var(ix86_isa_flags) Save > Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generation > > msse4.2 > -Target Report Mask(ISA_SSE4_2) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_SSE4_2) Var(ix86_isa_flags) Save > Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation > > msse4 > -Target RejectNegative Report Mask(ISA_SSE4_2) MaskExists Var(ix86_isa_flags) VarExists Save > +Target RejectNegative Report Mask(ISA_SSE4_2) MaskExists Var(ix86_isa_flags) Save > Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation > > mno-sse4 > -Target RejectNegative Report InverseMask(ISA_SSE4_1) MaskExists Var(ix86_isa_flags) VarExists Save > +Target RejectNegative Report InverseMask(ISA_SSE4_1) MaskExists Var(ix86_isa_flags) Save > Do not support SSE4.1 and SSE4.2 built-in functions and code generation > > mavx > -Target Report Mask(ISA_AVX) Var(ix86_isa_flags) VarExists > +Target Report Mask(ISA_AVX) Var(ix86_isa_flags) > Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation > > mfma > -Target Report Mask(ISA_FMA) Var(ix86_isa_flags) VarExists > +Target Report Mask(ISA_FMA) Var(ix86_isa_flags) > Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation > > msse4a > -Target Report Mask(ISA_SSE4A) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_SSE4A) Var(ix86_isa_flags) Save > Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation > > mfma4 > -Target Report Mask(ISA_FMA4) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_FMA4) Var(ix86_isa_flags) Save > Support FMA4 built-in functions and code generation > > mxop > -Target Report Mask(ISA_XOP) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_XOP) Var(ix86_isa_flags) Save > Support XOP built-in functions and code generation > > mlwp > -Target Report Mask(ISA_LWP) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_LWP) Var(ix86_isa_flags) Save > Support LWP built-in functions and code generation > > mabm > -Target Report Mask(ISA_ABM) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_ABM) Var(ix86_isa_flags) Save > Support code generation of Advanced Bit Manipulation (ABM) instructions. > > mpopcnt > -Target Report Mask(ISA_POPCNT) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_POPCNT) Var(ix86_isa_flags) Save > Support code generation of popcnt instruction. > > mcx16 > -Target Report Mask(ISA_CX16) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_CX16) Var(ix86_isa_flags) Save > Support code generation of cmpxchg16b instruction. > > msahf > -Target Report Mask(ISA_SAHF) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_SAHF) Var(ix86_isa_flags) Save > Support code generation of sahf instruction in 64bit x86-64 code. > > mmovbe > -Target Report Mask(ISA_MOVBE) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_MOVBE) Var(ix86_isa_flags) Save > Support code generation of movbe instruction. > > mcrc32 > -Target Report Mask(ISA_CRC32) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_CRC32) Var(ix86_isa_flags) Save > Support code generation of crc32 instruction. > > maes > -Target Report Mask(ISA_AES) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_AES) Var(ix86_isa_flags) Save > Support AES built-in functions and code generation > > mpclmul > -Target Report Mask(ISA_PCLMUL) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_PCLMUL) Var(ix86_isa_flags) Save > Support PCLMUL built-in functions and code generation > > msse2avx > @@ -378,15 +378,15 @@ Target Report Var(ix86_sse2avx) > Encode SSE instructions with VEX prefix > > mfsgsbase > -Target Report Mask(ISA_FSGSBASE) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_FSGSBASE) Var(ix86_isa_flags) Save > Support FSGSBASE built-in functions and code generation > > mrdrnd > -Target Report Mask(ISA_RDRND) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_RDRND) Var(ix86_isa_flags) Save > Support RDRND built-in functions and code generation > > mf16c > -Target Report Mask(ISA_F16C) Var(ix86_isa_flags) VarExists Save > +Target Report Mask(ISA_F16C) Var(ix86_isa_flags) Save > Support F16C built-in functions and code generation > > mfentry > diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/config/linux.opt gcc-mainline/gcc/config/linux.opt > --- gcc-mainline-0struct/gcc/config/linux.opt 2010-05-27 13:13:55.000000000 -0700 > +++ gcc-mainline/gcc/config/linux.opt 2010-09-29 05:34:31.000000000 -0700 > @@ -24,9 +24,9 @@ Target Report RejectNegative Var(linux_l > Use Bionic C library > > mglibc > -Target Report RejectNegative Var(linux_libc,LIBC_GLIBC) VarExists Negative(muclibc) > +Target Report RejectNegative Var(linux_libc,LIBC_GLIBC) Negative(muclibc) > Use GNU C library > > muclibc > -Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) VarExists Negative(mbionic) > +Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) > Use uClibc C library > diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/config/rs6000/rs6000.opt gcc-mainline/gcc/config/rs6000/rs6000.opt > --- gcc-mainline-0struct/gcc/config/rs6000/rs6000.opt 2010-09-03 13:58:42.000000000 -0700 > +++ gcc-mainline/gcc/config/rs6000/rs6000.opt 2010-09-29 05:35:28.000000000 -0700 > @@ -188,7 +188,7 @@ msched-epilog > Target Undocumented Var(TARGET_SCHED_PROLOG) Init(1) > > msched-prolog > -Target Report Var(TARGET_SCHED_PROLOG) VarExists > +Target Report Var(TARGET_SCHED_PROLOG) > Schedule the start and end of the procedure > > maix-struct-return > @@ -196,7 +196,7 @@ Target Report RejectNegative Var(aix_str > Return all structures in memory (AIX default) > > msvr4-struct-return > -Target Report RejectNegative Var(aix_struct_return,0) VarExists > +Target Report RejectNegative Var(aix_struct_return,0) > Return small structures in registers (SVR4 default) > > mxl-compat > @@ -228,7 +228,7 @@ Target RejectNegative Var(TARGET_NO_SUM_ > Do not place symbol+offset constants in TOC > > msum-in-toc > -Target RejectNegative Var(TARGET_NO_SUM_IN_TOC,0) VarExists > +Target RejectNegative Var(TARGET_NO_SUM_IN_TOC,0) > Place symbol+offset constants in TOC > > ; Output only one TOC entry per module. Normally linking fails if > diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/config/sh/sh.opt gcc-mainline/gcc/config/sh/sh.opt > --- gcc-mainline-0struct/gcc/config/sh/sh.opt 2010-04-24 14:15:09.000000000 -0700 > +++ gcc-mainline/gcc/config/sh/sh.opt 2010-09-29 05:35:51.000000000 -0700 > @@ -1,6 +1,7 @@ > ; Options for the SH port of the compiler. > > -; Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. > +; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 > +; Free Software Foundation, Inc. > ; > ; This file is part of GCC. > ; > @@ -106,11 +107,11 @@ Target RejectNegative Condition(SUPPORT_ > Generate SH4-200 FPU-less code > > m4-300-nofpu > -Target RejectNegative Condition(SUPPORT_SH4_NOFPU) Var(TARGET_SH4_300) VarExists > +Target RejectNegative Condition(SUPPORT_SH4_NOFPU) Var(TARGET_SH4_300) > Generate SH4-300 FPU-less code > > m4-340 > -Target RejectNegative Condition(SUPPORT_SH4_NOFPU) Var(TARGET_SH4_300) VarExists > +Target RejectNegative Condition(SUPPORT_SH4_NOFPU) Var(TARGET_SH4_300) > Generate code for SH4 340 series (MMU/FPU-less) > ;; passes -isa=sh4-nommu-nofpu to the assembler. > > @@ -137,7 +138,7 @@ Target RejectNegative Condition(SUPPORT_ > Generate default single-precision SH4-200 code > > m4-300-single > -Target RejectNegative Condition(SUPPORT_SH4_SINGLE) Var(TARGET_SH4_300) VarExists > +Target RejectNegative Condition(SUPPORT_SH4_SINGLE) Var(TARGET_SH4_300) > Generate default single-precision SH4-300 code > > m4-single-only > @@ -153,7 +154,7 @@ Target RejectNegative Condition(SUPPORT_ > Generate only single-precision SH4-200 code > > m4-300-single-only > -Target RejectNegative Condition(SUPPORT_SH4_SINGLE_ONLY) Var(TARGET_SH4_300) VarExists > +Target RejectNegative Condition(SUPPORT_SH4_SINGLE_ONLY) Var(TARGET_SH4_300) > Generate only single-precision SH4-300 code > > m4a > diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/config/spu/spu.opt gcc-mainline/gcc/config/spu/spu.opt > --- gcc-mainline-0struct/gcc/config/spu/spu.opt 2009-12-30 09:05:24.000000000 -0800 > +++ gcc-mainline/gcc/config/spu/spu.opt 2010-09-29 05:36:32.000000000 -0700 > @@ -1,5 +1,5 @@ > ; Options for the SPU port of the compiler > -; Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. > +; Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. > > ; This file is free software; you can redistribute it and/or modify it under > ; the terms of the GNU General Public License as published by the Free > @@ -88,7 +88,7 @@ Target Report RejectNegative Var(spu_ea_ > Access variables in 32-bit PPU objects (default) > > mea64 > -Target Report RejectNegative Var(spu_ea_model,64) VarExists > +Target Report RejectNegative Var(spu_ea_model,64) > Access variables in 64-bit PPU objects > > maddress-space-conversion > diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/doc/options.texi gcc-mainline/gcc/doc/options.texi > --- gcc-mainline-0struct/gcc/doc/options.texi 2010-09-16 16:50:43.000000000 -0700 > +++ gcc-mainline/gcc/doc/options.texi 2010-09-29 05:33:02.000000000 -0700 > @@ -46,10 +46,10 @@ information. These records have two fie > @samp{Variable}, and a declaration of the type and name of the > variable, optionally with an initializer (but without any trailing > @samp{;}). These records may be used for variables used for many > -options where declaring the variable and its initializer by omitting > -@code{VarExists} from a single option definition record would be > -inappropriate, or for variables set in option handlers rather than > -referenced by @code{Var} properties. > +options where declaring the initializer in a single option definition > +record, or duplicating it in many records, would be inappropriate, or > +for variables set in option handlers rather than referenced by > +@code{Var} properties. > > @item > An option definition record. These records have the following fields: > @@ -177,7 +177,8 @@ compatibility with existing options that > via @option{-Wp,}; new options should not have this property. > > @item Var(@var{var}) > -The state of this option should be stored in variable @var{var}. > +The state of this option should be stored in variable @var{var} > +(actually a macro for @code{global_options.x_@var{var}}). > The way that the state is stored depends on the type of option: > > @itemize @bullet > @@ -201,9 +202,8 @@ the argument string. The pointer will b > and wasn't given. > @end itemize > > -The option-processing script will usually declare @var{var} in > -@file{options.c} and leave it to be zero-initialized at start-up time. > -You can modify this behavior using @code{VarExists} and @code{Init}. > +The option-processing script will usually zero-initialize @var{var}. > +You can modify this behavior using @code{Init}. > > @item Var(@var{var}, @var{set}) > The option controls an integer variable @var{var} and is active when > @@ -214,17 +214,10 @@ when the ``no-'' form is used. > @var{var} is declared in the same way as for the single-argument form > described above. > > -@item VarExists > -The variable specified by the @code{Var} property already exists. > -No definition should be added to @file{options.c} in response to > -this option record. > - > -You should use this property only if the variable is declared outside > -@file{options.c}. > - > @item Init(@var{value}) > The variable specified by the @code{Var} property should be statically > -initialized to @var{value}. > +initialized to @var{value}. If more than one option using the same > +variable specifies @code{Init}, all must specify the same initializer. > > @item Mask(@var{name}) > The option is associated with a bit in the @code{target_flags} > diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/fortran/lang.opt gcc-mainline/gcc/fortran/lang.opt > --- gcc-mainline-0struct/gcc/fortran/lang.opt 2010-09-22 13:21:15.000000000 -0700 > +++ gcc-mainline/gcc/fortran/lang.opt 2010-09-29 05:34:45.000000000 -0700 > @@ -499,7 +499,7 @@ Fortran > Append a second underscore if the name already contains an underscore > > fshort-enums > -Fortran Var(flag_short_enums) VarExists > +Fortran Var(flag_short_enums) > ; Documented in C > > fsign-zero > diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/java/lang.opt gcc-mainline/gcc/java/lang.opt > --- gcc-mainline-0struct/gcc/java/lang.opt 2010-09-22 13:21:02.000000000 -0700 > +++ gcc-mainline/gcc/java/lang.opt 2010-09-29 05:34:52.000000000 -0700 > @@ -114,7 +114,7 @@ Java > ; Documented for C > > Wdeprecated > -Java Var(warn_deprecated) VarExists > +Java Var(warn_deprecated) > ; Documented for C > > Wextraneous-semicolon > > -- > Joseph S. Myers > joseph@codesourcery.com >
diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/c-family/c.opt gcc-mainline/gcc/c-family/c.opt --- gcc-mainline-0struct/gcc/c-family/c.opt 2010-09-22 13:21:02.000000000 -0700 +++ gcc-mainline/gcc/c-family/c.opt 2010-09-29 05:34:21.000000000 -0700 @@ -966,11 +966,11 @@ C++ ObjC++ Optimization Var(flag_threads -fno-threadsafe-statics Do not generate thread-safe code for initializing local statics funsigned-bitfields -C ObjC C++ ObjC++ Var(flag_signed_bitfields, 0) VarExists +C ObjC C++ ObjC++ Var(flag_signed_bitfields, 0) When \"signed\" or \"unsigned\" is not given make the bitfield unsigned funsigned-char -C ObjC C++ ObjC++ LTO Var(flag_signed_char, 0) VarExists +C ObjC C++ ObjC++ LTO Var(flag_signed_char, 0) Make \"char\" unsigned by default fuse-cxa-atexit diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/common.opt gcc-mainline/gcc/common.opt --- gcc-mainline-0struct/gcc/common.opt 2010-09-27 17:01:33.000000000 -0700 +++ gcc-mainline/gcc/common.opt 2010-09-29 05:34:15.000000000 -0700 @@ -1064,7 +1064,7 @@ Common Report Var(flag_merge_constants,2 Attempt to merge identical constants and constant variables fmerge-constants -Common Report Var(flag_merge_constants,1) VarExists Optimization +Common Report Var(flag_merge_constants,1) Optimization Attempt to merge identical constants across compilation units fmerge-debug-strings @@ -1092,7 +1092,7 @@ Common RejectNegative Report Var(flag_mu Add mudflap bounds-checking instrumentation for single-threaded program fmudflapth -Common RejectNegative Report VarExists Var(flag_mudflap,2) +Common RejectNegative Report Var(flag_mudflap,2) Add mudflap bounds-checking instrumentation for multi-threaded program fmudflapir @@ -1172,11 +1172,11 @@ Common Report Var(flag_pie,2) Generate position-independent code for executables if possible (large mode) fpic -Common Report Var(flag_pic,1) VarExists +Common Report Var(flag_pic,1) Generate position-independent code if possible (small mode) fpie -Common Report Var(flag_pie,1) VarExists +Common Report Var(flag_pie,1) Generate position-independent code for executables if possible (small mode) fplugin= @@ -1250,7 +1250,7 @@ Common Report Var(flag_record_gcc_switch Record gcc command line switches in the object file. freg-struct-return -Common Report Var(flag_pcc_struct_return,0) VarExists Optimization +Common Report Var(flag_pcc_struct_return,0) Optimization Return small aggregates in registers fregmove @@ -1458,7 +1458,7 @@ Common Report Var(flag_stack_protect, 1) Use propolice as a stack protection method fstack-protector-all -Common Report RejectNegative Var(flag_stack_protect, 2) VarExists +Common Report RejectNegative Var(flag_stack_protect, 2) Use a stack protection method for every function fstack-usage @@ -1818,7 +1818,7 @@ Common RejectNegative Var(dwarf_strict,0 Emit DWARF additions beyond selected version gstrict-dwarf -Common Report RejectNegative Var(dwarf_strict,1) VarExists +Common Report RejectNegative Var(dwarf_strict,1) Don't emit DWARF additions beyond selected version gtoggle diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/config/i386/i386.opt gcc-mainline/gcc/config/i386/i386.opt --- gcc-mainline-0struct/gcc/config/i386/i386.opt 2010-09-17 07:11:45.000000000 -0700 +++ gcc-mainline/gcc/config/i386/i386.opt 2010-09-29 05:35:13.000000000 -0700 @@ -266,111 +266,111 @@ is selected. ;; ISA support m32 -Target RejectNegative Negative(m64) Report InverseMask(ISA_64BIT) Var(ix86_isa_flags) VarExists Save +Target RejectNegative Negative(m64) Report InverseMask(ISA_64BIT) Var(ix86_isa_flags) Save Generate 32bit i386 code m64 -Target RejectNegative Negative(m32) Report Mask(ISA_64BIT) Var(ix86_isa_flags) VarExists Save +Target RejectNegative Negative(m32) Report Mask(ISA_64BIT) Var(ix86_isa_flags) Save Generate 64bit x86-64 code mmmx -Target Report Mask(ISA_MMX) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_MMX) Var(ix86_isa_flags) Save Support MMX built-in functions m3dnow -Target Report Mask(ISA_3DNOW) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_3DNOW) Var(ix86_isa_flags) Save Support 3DNow! built-in functions m3dnowa -Target Undocumented Mask(ISA_3DNOW_A) Var(ix86_isa_flags) VarExists Save +Target Undocumented Mask(ISA_3DNOW_A) Var(ix86_isa_flags) Save Support Athlon 3Dnow! built-in functions msse -Target Report Mask(ISA_SSE) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_SSE) Var(ix86_isa_flags) Save Support MMX and SSE built-in functions and code generation msse2 -Target Report Mask(ISA_SSE2) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_SSE2) Var(ix86_isa_flags) Save Support MMX, SSE and SSE2 built-in functions and code generation msse3 -Target Report Mask(ISA_SSE3) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_SSE3) Var(ix86_isa_flags) Save Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation mssse3 -Target Report Mask(ISA_SSSE3) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_SSSE3) Var(ix86_isa_flags) Save Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation msse4.1 -Target Report Mask(ISA_SSE4_1) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_SSE4_1) Var(ix86_isa_flags) Save Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generation msse4.2 -Target Report Mask(ISA_SSE4_2) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_SSE4_2) Var(ix86_isa_flags) Save Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation msse4 -Target RejectNegative Report Mask(ISA_SSE4_2) MaskExists Var(ix86_isa_flags) VarExists Save +Target RejectNegative Report Mask(ISA_SSE4_2) MaskExists Var(ix86_isa_flags) Save Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation mno-sse4 -Target RejectNegative Report InverseMask(ISA_SSE4_1) MaskExists Var(ix86_isa_flags) VarExists Save +Target RejectNegative Report InverseMask(ISA_SSE4_1) MaskExists Var(ix86_isa_flags) Save Do not support SSE4.1 and SSE4.2 built-in functions and code generation mavx -Target Report Mask(ISA_AVX) Var(ix86_isa_flags) VarExists +Target Report Mask(ISA_AVX) Var(ix86_isa_flags) Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation mfma -Target Report Mask(ISA_FMA) Var(ix86_isa_flags) VarExists +Target Report Mask(ISA_FMA) Var(ix86_isa_flags) Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation msse4a -Target Report Mask(ISA_SSE4A) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_SSE4A) Var(ix86_isa_flags) Save Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation mfma4 -Target Report Mask(ISA_FMA4) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_FMA4) Var(ix86_isa_flags) Save Support FMA4 built-in functions and code generation mxop -Target Report Mask(ISA_XOP) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_XOP) Var(ix86_isa_flags) Save Support XOP built-in functions and code generation mlwp -Target Report Mask(ISA_LWP) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_LWP) Var(ix86_isa_flags) Save Support LWP built-in functions and code generation mabm -Target Report Mask(ISA_ABM) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_ABM) Var(ix86_isa_flags) Save Support code generation of Advanced Bit Manipulation (ABM) instructions. mpopcnt -Target Report Mask(ISA_POPCNT) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_POPCNT) Var(ix86_isa_flags) Save Support code generation of popcnt instruction. mcx16 -Target Report Mask(ISA_CX16) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_CX16) Var(ix86_isa_flags) Save Support code generation of cmpxchg16b instruction. msahf -Target Report Mask(ISA_SAHF) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_SAHF) Var(ix86_isa_flags) Save Support code generation of sahf instruction in 64bit x86-64 code. mmovbe -Target Report Mask(ISA_MOVBE) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_MOVBE) Var(ix86_isa_flags) Save Support code generation of movbe instruction. mcrc32 -Target Report Mask(ISA_CRC32) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_CRC32) Var(ix86_isa_flags) Save Support code generation of crc32 instruction. maes -Target Report Mask(ISA_AES) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_AES) Var(ix86_isa_flags) Save Support AES built-in functions and code generation mpclmul -Target Report Mask(ISA_PCLMUL) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_PCLMUL) Var(ix86_isa_flags) Save Support PCLMUL built-in functions and code generation msse2avx @@ -378,15 +378,15 @@ Target Report Var(ix86_sse2avx) Encode SSE instructions with VEX prefix mfsgsbase -Target Report Mask(ISA_FSGSBASE) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_FSGSBASE) Var(ix86_isa_flags) Save Support FSGSBASE built-in functions and code generation mrdrnd -Target Report Mask(ISA_RDRND) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_RDRND) Var(ix86_isa_flags) Save Support RDRND built-in functions and code generation mf16c -Target Report Mask(ISA_F16C) Var(ix86_isa_flags) VarExists Save +Target Report Mask(ISA_F16C) Var(ix86_isa_flags) Save Support F16C built-in functions and code generation mfentry diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/config/linux.opt gcc-mainline/gcc/config/linux.opt --- gcc-mainline-0struct/gcc/config/linux.opt 2010-05-27 13:13:55.000000000 -0700 +++ gcc-mainline/gcc/config/linux.opt 2010-09-29 05:34:31.000000000 -0700 @@ -24,9 +24,9 @@ Target Report RejectNegative Var(linux_l Use Bionic C library mglibc -Target Report RejectNegative Var(linux_libc,LIBC_GLIBC) VarExists Negative(muclibc) +Target Report RejectNegative Var(linux_libc,LIBC_GLIBC) Negative(muclibc) Use GNU C library muclibc -Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) VarExists Negative(mbionic) +Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) Use uClibc C library diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/config/rs6000/rs6000.opt gcc-mainline/gcc/config/rs6000/rs6000.opt --- gcc-mainline-0struct/gcc/config/rs6000/rs6000.opt 2010-09-03 13:58:42.000000000 -0700 +++ gcc-mainline/gcc/config/rs6000/rs6000.opt 2010-09-29 05:35:28.000000000 -0700 @@ -188,7 +188,7 @@ msched-epilog Target Undocumented Var(TARGET_SCHED_PROLOG) Init(1) msched-prolog -Target Report Var(TARGET_SCHED_PROLOG) VarExists +Target Report Var(TARGET_SCHED_PROLOG) Schedule the start and end of the procedure maix-struct-return @@ -196,7 +196,7 @@ Target Report RejectNegative Var(aix_str Return all structures in memory (AIX default) msvr4-struct-return -Target Report RejectNegative Var(aix_struct_return,0) VarExists +Target Report RejectNegative Var(aix_struct_return,0) Return small structures in registers (SVR4 default) mxl-compat @@ -228,7 +228,7 @@ Target RejectNegative Var(TARGET_NO_SUM_ Do not place symbol+offset constants in TOC msum-in-toc -Target RejectNegative Var(TARGET_NO_SUM_IN_TOC,0) VarExists +Target RejectNegative Var(TARGET_NO_SUM_IN_TOC,0) Place symbol+offset constants in TOC ; Output only one TOC entry per module. Normally linking fails if diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/config/sh/sh.opt gcc-mainline/gcc/config/sh/sh.opt --- gcc-mainline-0struct/gcc/config/sh/sh.opt 2010-04-24 14:15:09.000000000 -0700 +++ gcc-mainline/gcc/config/sh/sh.opt 2010-09-29 05:35:51.000000000 -0700 @@ -1,6 +1,7 @@ ; Options for the SH port of the compiler. -; Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 +; Free Software Foundation, Inc. ; ; This file is part of GCC. ; @@ -106,11 +107,11 @@ Target RejectNegative Condition(SUPPORT_ Generate SH4-200 FPU-less code m4-300-nofpu -Target RejectNegative Condition(SUPPORT_SH4_NOFPU) Var(TARGET_SH4_300) VarExists +Target RejectNegative Condition(SUPPORT_SH4_NOFPU) Var(TARGET_SH4_300) Generate SH4-300 FPU-less code m4-340 -Target RejectNegative Condition(SUPPORT_SH4_NOFPU) Var(TARGET_SH4_300) VarExists +Target RejectNegative Condition(SUPPORT_SH4_NOFPU) Var(TARGET_SH4_300) Generate code for SH4 340 series (MMU/FPU-less) ;; passes -isa=sh4-nommu-nofpu to the assembler. @@ -137,7 +138,7 @@ Target RejectNegative Condition(SUPPORT_ Generate default single-precision SH4-200 code m4-300-single -Target RejectNegative Condition(SUPPORT_SH4_SINGLE) Var(TARGET_SH4_300) VarExists +Target RejectNegative Condition(SUPPORT_SH4_SINGLE) Var(TARGET_SH4_300) Generate default single-precision SH4-300 code m4-single-only @@ -153,7 +154,7 @@ Target RejectNegative Condition(SUPPORT_ Generate only single-precision SH4-200 code m4-300-single-only -Target RejectNegative Condition(SUPPORT_SH4_SINGLE_ONLY) Var(TARGET_SH4_300) VarExists +Target RejectNegative Condition(SUPPORT_SH4_SINGLE_ONLY) Var(TARGET_SH4_300) Generate only single-precision SH4-300 code m4a diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/config/spu/spu.opt gcc-mainline/gcc/config/spu/spu.opt --- gcc-mainline-0struct/gcc/config/spu/spu.opt 2009-12-30 09:05:24.000000000 -0800 +++ gcc-mainline/gcc/config/spu/spu.opt 2010-09-29 05:36:32.000000000 -0700 @@ -1,5 +1,5 @@ ; Options for the SPU port of the compiler -; Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. +; Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ; This file is free software; you can redistribute it and/or modify it under ; the terms of the GNU General Public License as published by the Free @@ -88,7 +88,7 @@ Target Report RejectNegative Var(spu_ea_ Access variables in 32-bit PPU objects (default) mea64 -Target Report RejectNegative Var(spu_ea_model,64) VarExists +Target Report RejectNegative Var(spu_ea_model,64) Access variables in 64-bit PPU objects maddress-space-conversion diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/doc/options.texi gcc-mainline/gcc/doc/options.texi --- gcc-mainline-0struct/gcc/doc/options.texi 2010-09-16 16:50:43.000000000 -0700 +++ gcc-mainline/gcc/doc/options.texi 2010-09-29 05:33:02.000000000 -0700 @@ -46,10 +46,10 @@ information. These records have two fie @samp{Variable}, and a declaration of the type and name of the variable, optionally with an initializer (but without any trailing @samp{;}). These records may be used for variables used for many -options where declaring the variable and its initializer by omitting -@code{VarExists} from a single option definition record would be -inappropriate, or for variables set in option handlers rather than -referenced by @code{Var} properties. +options where declaring the initializer in a single option definition +record, or duplicating it in many records, would be inappropriate, or +for variables set in option handlers rather than referenced by +@code{Var} properties. @item An option definition record. These records have the following fields: @@ -177,7 +177,8 @@ compatibility with existing options that via @option{-Wp,}; new options should not have this property. @item Var(@var{var}) -The state of this option should be stored in variable @var{var}. +The state of this option should be stored in variable @var{var} +(actually a macro for @code{global_options.x_@var{var}}). The way that the state is stored depends on the type of option: @itemize @bullet @@ -201,9 +202,8 @@ the argument string. The pointer will b and wasn't given. @end itemize -The option-processing script will usually declare @var{var} in -@file{options.c} and leave it to be zero-initialized at start-up time. -You can modify this behavior using @code{VarExists} and @code{Init}. +The option-processing script will usually zero-initialize @var{var}. +You can modify this behavior using @code{Init}. @item Var(@var{var}, @var{set}) The option controls an integer variable @var{var} and is active when @@ -214,17 +214,10 @@ when the ``no-'' form is used. @var{var} is declared in the same way as for the single-argument form described above. -@item VarExists -The variable specified by the @code{Var} property already exists. -No definition should be added to @file{options.c} in response to -this option record. - -You should use this property only if the variable is declared outside -@file{options.c}. - @item Init(@var{value}) The variable specified by the @code{Var} property should be statically -initialized to @var{value}. +initialized to @var{value}. If more than one option using the same +variable specifies @code{Init}, all must specify the same initializer. @item Mask(@var{name}) The option is associated with a bit in the @code{target_flags} diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/fortran/lang.opt gcc-mainline/gcc/fortran/lang.opt --- gcc-mainline-0struct/gcc/fortran/lang.opt 2010-09-22 13:21:15.000000000 -0700 +++ gcc-mainline/gcc/fortran/lang.opt 2010-09-29 05:34:45.000000000 -0700 @@ -499,7 +499,7 @@ Fortran Append a second underscore if the name already contains an underscore fshort-enums -Fortran Var(flag_short_enums) VarExists +Fortran Var(flag_short_enums) ; Documented in C fsign-zero diff -rupN --exclude=.svn gcc-mainline-0struct/gcc/java/lang.opt gcc-mainline/gcc/java/lang.opt --- gcc-mainline-0struct/gcc/java/lang.opt 2010-09-22 13:21:02.000000000 -0700 +++ gcc-mainline/gcc/java/lang.opt 2010-09-29 05:34:52.000000000 -0700 @@ -114,7 +114,7 @@ Java ; Documented for C Wdeprecated -Java Var(warn_deprecated) VarExists +Java Var(warn_deprecated) ; Documented for C Wextraneous-semicolon