OSDN Git Service

* config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 1 Nov 2010 23:44:35 +0000 (23:44 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 1 Nov 2010 23:44:35 +0000 (23:44 +0000)
* config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
(CC1_SPEC): Don't handle -target.
* config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
options.
* config/darwin.opt (Zallowable_client, Zbundle_loader,
Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
Zweak_reference_mismatches, client_name, compatibility_version,
current_version, dylinker_install_name, pagezero_size,
read_only_relocs, seg1addr, segs_read_only_addr,
segs_read_write_addr, sub_library, sub_umbrella): New.
* config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
* config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
* config/freebsd.opt: New.
* config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
* config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
* config/rpath.opt: New.
* config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
(alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
Use rpath.opt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166156 138bc75d-0d04-0410-961f-82ee72b054a4

12 files changed:
gcc/ChangeLog
gcc/config.gcc
gcc/config/alpha/alpha.h
gcc/config/cris/cris.h
gcc/config/darwin.h
gcc/config/darwin.opt
gcc/config/freebsd-spec.h
gcc/config/freebsd.h
gcc/config/freebsd.opt [new file with mode: 0644]
gcc/config/interix.h
gcc/config/mips/iris6.h
gcc/config/rpath.opt [new file with mode: 0644]

index 0c2f666..1ca5b0b 100644 (file)
@@ -1,5 +1,31 @@
 2010-11-01  Joseph Myers  <joseph@codesourcery.com>
 
 2010-11-01  Joseph Myers  <joseph@codesourcery.com>
 
+       * config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
+       * config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
+       (CC1_SPEC): Don't handle -target.
+       * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
+       options.
+       * config/darwin.opt (Zallowable_client, Zbundle_loader,
+       Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
+       Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
+       Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
+       Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
+       Zweak_reference_mismatches, client_name, compatibility_version,
+       current_version, dylinker_install_name, pagezero_size,
+       read_only_relocs, seg1addr, segs_read_only_addr,
+       segs_read_write_addr, sub_library, sub_umbrella): New.
+       * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
+       * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
+       * config/freebsd.opt: New.
+       * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
+       * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
+       * config/rpath.opt: New.
+       * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
+       (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
+       Use rpath.opt.
+
+2010-11-01  Joseph Myers  <joseph@codesourcery.com>
+
        * common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
        * defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
        (DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
        * common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
        * defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
        (DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
index b353fa0..64eaaef 100644 (file)
@@ -528,6 +528,7 @@ case ${target} in
       ;;
   esac
   fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
       ;;
   esac
   fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h freebsd-stdint.h"
+  extra_options="$extra_options rpath.opt freebsd.opt"
   case ${target} in
     *-*-freebsd[345].*)
       :;;
   case ${target} in
     *-*-freebsd[345].*)
       :;;
@@ -727,6 +728,7 @@ alpha*-dec-osf5.1*)
        tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf5"
        tm_file="${tm_file} alpha/osf5.h"
        tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1"
        tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf5"
        tm_file="${tm_file} alpha/osf5.h"
        tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1"
+       extra_options="${extra_options} rpath.opt"
        extra_headers=va_list.h
        use_gcc_stdint=provide
        case ${enable_threads} in
        extra_headers=va_list.h
        use_gcc_stdint=provide
        case ${enable_threads} in
@@ -1518,6 +1520,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
 i[34567]86-*-interix3*)
        tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
        tmake_file="${tmake_file} i386/t-interix"
 i[34567]86-*-interix3*)
        tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
        tmake_file="${tmake_file} i386/t-interix"
+       extra_options="${extra_options} rpath.opt"
        extra_objs=winnt.o
        target_gtfiles="\$(srcdir)/config/i386/winnt.c"
        if test x$enable_threads = xyes ; then
        extra_objs=winnt.o
        target_gtfiles="\$(srcdir)/config/i386/winnt.c"
        if test x$enable_threads = xyes ; then
@@ -1784,6 +1787,7 @@ microblaze*-*-*)
 mips-sgi-irix6.5*)
        tm_file="elfos.h ${tm_file} mips/iris6.h"
        tmake_file="mips/t-iris mips/t-iris6 mips/t-slibgcc-irix"
 mips-sgi-irix6.5*)
        tm_file="elfos.h ${tm_file} mips/iris6.h"
        tmake_file="mips/t-iris mips/t-iris6 mips/t-slibgcc-irix"
+       extra_options="${extra_options} rpath.opt"
        target_cpu_default="MASK_ABICALLS"
        tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
        # Only IRIX Development Foundation 1.3 for IRIX 6.5 provides stdint.h.
        target_cpu_default="MASK_ABICALLS"
        tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
        # Only IRIX Development Foundation 1.3 for IRIX 6.5 provides stdint.h.
index 7681b4b..5426a64 100644 (file)
@@ -96,9 +96,6 @@ along with GCC; see the file COPYING3.  If not see
   while (0)
 #endif
 
   while (0)
 #endif
 
-#define WORD_SWITCH_TAKES_ARG(STR)             \
- (!strcmp (STR, "rpath") || DEFAULT_WORD_SWITCH_TAKES_ARG(STR))
-
 /* Print subsidiary information on the compiler version in use.  */
 #define TARGET_VERSION
 
 /* Print subsidiary information on the compiler version in use.  */
 #define TARGET_VERSION
 
index 776c44e..a7b7e4d 100644 (file)
@@ -96,14 +96,6 @@ extern int cris_cpu_version;
 
 /* Node: Driver */
 
 
 /* Node: Driver */
 
-/* When using make with defaults.mak for Sun this will handily remove
-   any "-target sun*" switches.  */
-/* We need to override any previous definitions (linux.h) */
-#undef WORD_SWITCH_TAKES_ARG
-#define WORD_SWITCH_TAKES_ARG(STR)             \
- (DEFAULT_WORD_SWITCH_TAKES_ARG (STR)          \
-  || !strcmp (STR, "target"))
-
 /* Also provide canonical vN definitions when user specifies an alias.
    Note that -melf overrides -maout.  */
 
 /* Also provide canonical vN definitions when user specifies an alias.
    Note that -melf overrides -maout.  */
 
@@ -168,12 +160,10 @@ extern int cris_cpu_version;
     " -D__CRIS_arch_tune=" CRIS_DEFAULT_TUNE "}}}}}"\
  CRIS_ARCH_CPP_DEFAULT
 
     " -D__CRIS_arch_tune=" CRIS_DEFAULT_TUNE "}}}}}"\
  CRIS_ARCH_CPP_DEFAULT
 
-/* Remove those Sun-make "target" switches.  */
 /* Override previous definitions (linux.h).  */
 #undef CC1_SPEC
 #define CC1_SPEC \
 /* Override previous definitions (linux.h).  */
 #undef CC1_SPEC
 #define CC1_SPEC \
- "%{target*:}\
-  %{metrax4:-march=v3}\
+ "%{metrax4:-march=v3}\
   %{metrax100:-march=v8}\
   %(cc1_subtarget)"
 
   %{metrax100:-march=v8}\
   %(cc1_subtarget)"
 
index cd938cf..c488db2 100644 (file)
@@ -198,43 +198,13 @@ extern GTY(()) int darwin_ms_struct;
 #undef  WORD_SWITCH_TAKES_ARG
 #define WORD_SWITCH_TAKES_ARG(STR)              \
   (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) ? 1 :    \
 #undef  WORD_SWITCH_TAKES_ARG
 #define WORD_SWITCH_TAKES_ARG(STR)              \
   (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) ? 1 :    \
-   !strcmp (STR, "Zallowable_client") ? 1 :     \
-   !strcmp (STR, "arch") ? 1 :                  \
-   !strcmp (STR, "arch_only") ? 1 :             \
-   !strcmp (STR, "Zbundle_loader") ? 1 :        \
-   !strcmp (STR, "client_name") ? 1 :           \
-   !strcmp (STR, "compatibility_version") ? 1 : \
-   !strcmp (STR, "current_version") ? 1 :       \
-   !strcmp (STR, "Zdylib_file") ? 1 :           \
-   !strcmp (STR, "Zexported_symbols_list") ? 1 : \
-   !strcmp (STR, "Zimage_base") ? 1 :           \
-   !strcmp (STR, "Zinit") ? 1 :                 \
-   !strcmp (STR, "Zinstall_name") ? 1 :         \
-   !strcmp (STR, "Zmultiplydefinedunused") ? 1 : \
-   !strcmp (STR, "Zmultiply_defined") ? 1 :     \
-   !strcmp (STR, "precomp-trustfile") ? 1 :     \
-   !strcmp (STR, "read_only_relocs") ? 1 :      \
    !strcmp (STR, "sectcreate") ? 3 :            \
    !strcmp (STR, "sectorder") ? 3 :             \
    !strcmp (STR, "Zsegaddr") ? 2 :              \
    !strcmp (STR, "sectcreate") ? 3 :            \
    !strcmp (STR, "sectorder") ? 3 :             \
    !strcmp (STR, "Zsegaddr") ? 2 :              \
-   !strcmp (STR, "Zsegs_read_only_addr") ? 1 :  \
-   !strcmp (STR, "Zsegs_read_write_addr") ? 1 : \
-   !strcmp (STR, "Zseg_addr_table") ? 1 :       \
-   !strcmp (STR, "Zfn_seg_addr_table_filename") ? 1 :\
-   !strcmp (STR, "seg1addr") ? 1 :              \
    !strcmp (STR, "segprot") ? 3 :               \
    !strcmp (STR, "segprot") ? 3 :               \
-   !strcmp (STR, "sub_library") ? 1 :           \
-   !strcmp (STR, "sub_umbrella") ? 1 :          \
-   !strcmp (STR, "Zumbrella") ? 1 :             \
-   !strcmp (STR, "Zunexported_symbols_list") ? 1 : \
-   !strcmp (STR, "Zweak_reference_mismatches") ? 1 : \
-   !strcmp (STR, "pagezero_size") ? 1 :         \
-   !strcmp (STR, "segs_read_only_addr") ? 1 :   \
-   !strcmp (STR, "segs_read_write_addr") ? 1 :  \
    !strcmp (STR, "sectalign") ? 3 :             \
    !strcmp (STR, "sectobjectsymbols") ? 2 :     \
    !strcmp (STR, "segcreate") ? 3 :             \
    !strcmp (STR, "sectalign") ? 3 :             \
    !strcmp (STR, "sectobjectsymbols") ? 2 :     \
    !strcmp (STR, "segcreate") ? 3 :             \
-   !strcmp (STR, "dylinker_install_name") ? 1 : \
    0)
 
 #define SUBTARGET_C_COMMON_OVERRIDE_OPTIONS do {                        \
    0)
 
 #define SUBTARGET_C_COMMON_OVERRIDE_OPTIONS do {                        \
index afb1228..4435fea 100644 (file)
@@ -1,6 +1,6 @@
 ; Processor-independent options for Darwin.
 
 ; Processor-independent options for Darwin.
 
-; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
 ;
 ; This file is part of GCC.
 ;
 ;
 ; This file is part of GCC.
 ;
@@ -54,5 +54,86 @@ iframework
 Target RejectNegative C ObjC C++ ObjC++ Joined Separate 
 -iframework <dir>      Add <dir> to the end of the system framework include path
 
 Target RejectNegative C ObjC C++ ObjC++ Joined Separate 
 -iframework <dir>      Add <dir> to the end of the system framework include path
 
+Zallowable_client
+Driver Separate
+
+Zbundle_loader
+Driver Separate
+
+Zdylib_file
+Driver Separate
+
+Zexported_symbols_list
+Driver Separate
+
+Zfn_seg_addr_table_filename
+Driver Separate
+
+Zimage_base
+Driver Separate
+
+Zinit
+Driver Separate
+
+Zinstall_name
+Driver Separate
+
+Zmultiply_defined
+Driver Separate
+
+Zmultiplydefinedunused
+Driver Separate
+
+Zseg_addr_table
+Driver Separate
+
+Zsegs_read_only_addr
+Driver Separate
+
+Zsegs_read_write_addr
+Driver Separate
+
+Zumbrella
+Driver Separate
+
+Zunexported_symbols_list
+Driver Separate
+
+Zweak_reference_mismatches
+Driver Separate
+
+client_name
+Driver Separate
+
+compatibility_version
+Driver Separate
+
+current_version
+Driver Separate
+
+dylinker_install_name
+Driver Separate
+
+pagezero_size
+Driver Separate
+
+read_only_relocs
+Driver Separate
+
+seg1addr
+Driver Separate
+
+segs_read_only_addr
+Driver Separate
+
+segs_read_write_addr
+Driver Separate
+
+sub_library
+Driver Separate
+
+sub_umbrella
+Driver Separate
+
 undefined
 Driver Separate
 undefined
 Driver Separate
index 7e08e78..00b7407 100644 (file)
@@ -34,14 +34,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 /* In case we need to know.  */
 #define USING_CONFIG_FREEBSD_SPEC 1
 
 /* In case we need to know.  */
 #define USING_CONFIG_FREEBSD_SPEC 1
 
-/* This defines which multi-letter switches take arguments.  */
-
-#define FBSD_WORD_SWITCH_TAKES_ARG(STR)                                        \
-  (DEFAULT_WORD_SWITCH_TAKES_ARG (STR)                                 \
-   || !strcmp ((STR), "rpath") || !strcmp ((STR), "rpath-link")                \
-   || !strcmp ((STR), "soname") || !strcmp ((STR), "defsym")           \
-   || !strcmp ((STR), "assert") || !strcmp ((STR), "dynamic-linker"))
-
 #define FBSD_TARGET_OS_CPP_BUILTINS()                                  \
   do                                                                   \
     {                                                                  \
 #define FBSD_TARGET_OS_CPP_BUILTINS()                                  \
   do                                                                   \
     {                                                                  \
index 8381189..1a7dac9 100644 (file)
@@ -30,12 +30,6 @@ along with GCC; see the file COPYING3.  If not see
 /* In case we need to know.  */
 #define USING_CONFIG_FREEBSD 1
 
 /* In case we need to know.  */
 #define USING_CONFIG_FREEBSD 1
 
-/* This defines which switch words take arguments.
-   We have --assert etc.  */
-
-#undef  WORD_SWITCH_TAKES_ARG
-#define WORD_SWITCH_TAKES_ARG(STR) (FBSD_WORD_SWITCH_TAKES_ARG(STR))
-
 #undef  TARGET_OS_CPP_BUILTINS
 #define TARGET_OS_CPP_BUILTINS() FBSD_TARGET_OS_CPP_BUILTINS()
 
 #undef  TARGET_OS_CPP_BUILTINS
 #define TARGET_OS_CPP_BUILTINS() FBSD_TARGET_OS_CPP_BUILTINS()
 
diff --git a/gcc/config/freebsd.opt b/gcc/config/freebsd.opt
new file mode 100644 (file)
index 0000000..26dc9df
--- /dev/null
@@ -0,0 +1,38 @@
+; FreeBSD options.
+
+; Copyright (C) 2010
+; Free Software Foundation, Inc.
+;
+; This file is part of GCC.
+;
+; GCC 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
+; Software Foundation; either version 3, or (at your option) any later
+; version.
+;
+; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+; WARRANTY; without even the implied warranty of MERCHANTABILITY or
+; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+; for more details.
+;
+; You should have received a copy of the GNU General Public License
+; along with GCC; see the file COPYING3.  If not see
+; <http://www.gnu.org/licenses/>.
+
+; See the GCC internals manual (options.texi) for a description of this file's format.
+
+; Please try to keep this file in ASCII collating order.
+
+assert
+Driver Separate
+
+defsym
+Driver Separate
+
+rpath-link
+Driver Separate
+
+soname
+Driver Separate
+
+; This comment is to ensure we retain the blank line above.
index 67698a9..658c534 100644 (file)
@@ -58,11 +58,6 @@ for windows/multi thread */
 #define STARTFILE_SPEC  \
   "%{!shared:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}} %{shared:crti%O%s}"
 
 #define STARTFILE_SPEC  \
   "%{!shared:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}} %{shared:crti%O%s}"
 
-#undef WORD_SWITCH_TAKES_ARG
-#define WORD_SWITCH_TAKES_ARG(STR)             \
- (DEFAULT_WORD_SWITCH_TAKES_ARG (STR)          \
-  || !strcmp(STR, "rpath"))
-
 
 #define STDC_0_IN_SYSTEM_HEADERS 1
 
 
 #define STDC_0_IN_SYSTEM_HEADERS 1
 
index 6fa8ffc..dd8eb11 100644 (file)
@@ -146,10 +146,6 @@ along with GCC; see the file COPYING3.  If not see
 #undef DEFAULT_SIGNED_CHAR
 #define DEFAULT_SIGNED_CHAR 0
 
 #undef DEFAULT_SIGNED_CHAR
 #define DEFAULT_SIGNED_CHAR 0
 
-#define WORD_SWITCH_TAKES_ARG(STR)                     \
-  (DEFAULT_WORD_SWITCH_TAKES_ARG (STR)                 \
-   || strcmp (STR, "rpath") == 0)
-
 #define TARGET_OS_CPP_BUILTINS()                               \
   do                                                           \
     {                                                          \
 #define TARGET_OS_CPP_BUILTINS()                               \
   do                                                           \
     {                                                          \
diff --git a/gcc/config/rpath.opt b/gcc/config/rpath.opt
new file mode 100644 (file)
index 0000000..c76e2fc
--- /dev/null
@@ -0,0 +1,29 @@
+; -rpath option to the driver.
+
+; Copyright (C) 2010
+; Free Software Foundation, Inc.
+;
+; This file is part of GCC.
+;
+; GCC 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
+; Software Foundation; either version 3, or (at your option) any later
+; version.
+;
+; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+; WARRANTY; without even the implied warranty of MERCHANTABILITY or
+; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+; for more details.
+;
+; You should have received a copy of the GNU General Public License
+; along with GCC; see the file COPYING3.  If not see
+; <http://www.gnu.org/licenses/>.
+
+; See the GCC internals manual (options.texi) for a description of this file's format.
+
+; Please try to keep this file in ASCII collating order.
+
+rpath
+Driver Separate
+
+; This comment is to ensure we retain the blank line above.