From f71434274cd0439bde0dbdfd1fc53e2f24dee485 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Fri, 2 Mar 2001 01:03:47 +0000 Subject: [PATCH] gcc.c, [...]: Add zero initializer for cpp_spec field to all array elements. * gcc.c, cp/lang-specs.h, f/lang-specs.h, java/lang-specs.h, objc/lang-specs.h: Add zero initializer for cpp_spec field to all array elements. * cp/lang-specs.h: Don't put an #ifdef inside the initializer list; set a default for CPLUSPLUS_CPP_SPEC and use it. From-SVN: r40173 --- gcc/ChangeLog | 5 +++++ gcc/cp/ChangeLog | 7 +++++++ gcc/cp/lang-specs.h | 27 ++++++++++++++------------- gcc/f/ChangeLog | 5 +++++ gcc/f/lang-specs.h | 22 +++++++++++----------- gcc/gcc.c | 47 ++++++++++++++++++++++++----------------------- gcc/java/ChangeLog | 5 +++++ gcc/java/lang-specs.h | 10 +++++----- gcc/objc/lang-specs.h | 8 ++++---- 9 files changed, 80 insertions(+), 56 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c55e13a..0a08f8b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2001-03-01 Zack Weinberg + * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec + field to all array elements. + +2001-03-01 Zack Weinberg + * cpphash.h (struct cpp_reader): Add print_version field. * cppinit.c (cpp_handle_option): For -v, -version, and --version, just set print_version and other flags as appropriate. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 053c227..fb100a7 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2001-03-01 Zack Weinberg + + * lang-specs.h: Add zero initializer for cpp_spec field to + all array elements that need one. Don't put an #ifdef inside + the initializer list; set a default for CPLUSPLUS_CPP_SPEC and + use it. + 2001-03-01 Nathan Sidwell Implement using decls inside template functions. diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h index c8e708b..55c1f74 100644 --- a/gcc/cp/lang-specs.h +++ b/gcc/cp/lang-specs.h @@ -22,12 +22,16 @@ Boston, MA 02111-1307, USA. */ /* This is the contribution to the `default_compilers' array in gcc.c for g++. */ - {".cc", "@c++"}, - {".cp", "@c++"}, - {".cxx", "@c++"}, - {".cpp", "@c++"}, - {".c++", "@c++"}, - {".C", "@c++"}, +#ifndef CPLUSPLUS_CPP_SPEC +#define CPLUSPLUS_CPP_SPEC 0 +#endif + + {".cc", "@c++", 0}, + {".cp", "@c++", 0}, + {".cxx", "@c++", 0}, + {".cpp", "@c++", 0}, + {".c++", "@c++", 0}, + {".C", "@c++", 0}, {"@c++", /* cc1plus has an integrated ISO C preprocessor. We should invoke the external preprocessor if -save-temps is given. */ @@ -50,13 +54,10 @@ Boston, MA 02111-1307, USA. */ %{ansi:-D__STRICT_ANSI__}}\ %{ansi:-trigraphs -$}\ %(cc1_options) %2 %{+e1*}\ - %{!fsyntax-only:%(invoke_as)}}}}" -#ifdef CPLUSPLUS_CPP_SPEC - , CPLUSPLUS_CPP_SPEC -#endif - }, - {".ii", "@c++-cpp-output"}, + %{!fsyntax-only:%(invoke_as)}}}}", + CPLUSPLUS_CPP_SPEC}, + {".ii", "@c++-cpp-output", 0}, {"@c++-cpp-output", "%{!M:%{!MM:%{!E:\ cc1plus -fpreprocessed %i %(cc1_options) %2 %{+e*}\ - %{!fsyntax-only:%(invoke_as)}}}}"}, + %{!fsyntax-only:%(invoke_as)}}}}", 0}, diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index 7ce616e..eed6076 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,8 @@ +2001-03-01 Zack Weinberg + + * lang-specs.h: Add zero initializer for cpp_spec field to all + array elements. + 2001-02-24 Zack Weinberg * com.c: Don't define STDC_HEADERS, autoconf handles it. diff --git a/gcc/f/lang-specs.h b/gcc/f/lang-specs.h index 46f54e3..7aecf31 100644 --- a/gcc/f/lang-specs.h +++ b/gcc/f/lang-specs.h @@ -24,23 +24,23 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA /* This is the contribution to the `default_compilers' array in gcc.c for g77. */ - {".F", "@f77-cpp-input"}, - {".fpp", "@f77-cpp-input"}, - {".FPP", "@f77-cpp-input"}, + {".F", "@f77-cpp-input", 0}, + {".fpp", "@f77-cpp-input", 0}, + {".FPP", "@f77-cpp-input", 0}, {"@f77-cpp-input", "tradcpp0 -lang-fortran %(cpp_options) %{!M:%{!MM:%{!E:%{!pipe:%g.f |\n\ - f771 %{!pipe:%g.f} %(cc1_options) %{I*} %{!fsyntax-only:%(invoke_as)}}}}}"}, - {".r", "@ratfor"}, + f771 %{!pipe:%g.f} %(cc1_options) %{I*} %{!fsyntax-only:%(invoke_as)}}}}}", 0}, + {".r", "@ratfor", 0}, {"@ratfor", "%{C:%{!E:%eGNU C does not support -C without using -E}}\ ratfor %{C} %{v} %i %{E:%W{o*}} %{!E: %{!pipe:-o %g.f} |\n\ - f771 %{!pipe:%g.f} %(cc1_options) %{I*} %{!fsyntax-only:%(invoke_as)}}"}, - {".f", "@f77"}, - {".for", "@f77"}, - {".FOR", "@f77"}, + f771 %{!pipe:%g.f} %(cc1_options) %{I*} %{!fsyntax-only:%(invoke_as)}}", 0}, + {".f", "@f77", 0}, + {".for", "@f77", 0}, + {".FOR", "@f77", 0}, {"@f77", "%{!M:%{!MM:%{!E:f771 %i %(cc1_options) %{I*}\ - %{!fsyntax-only:%(invoke_as)}}}}"}, + %{!fsyntax-only:%(invoke_as)}}}}", 0}, /* XXX This is perverse and should not be necessary. */ {"@f77-version", "tradcpp0 -lang-fortran %(cpp_options) %j \n\ @@ -56,4 +56,4 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA %{!nostdlib:%{!nodefaultlibs:%G %L %G}} \ %{!A:%{!nostdlib:%{!nostartfiles:%E}}} \ %{T*} \n\ - %g \n"}, + %g \n", 0}, diff --git a/gcc/gcc.c b/gcc/gcc.c index dcda317..780b1c1 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -766,19 +766,20 @@ static struct compiler default_compilers[] = were not present when we built the driver, we will hit these copies and be given a more meaningful error than "file not used since linking is not done". */ - {".m", "#Objective-C"}, {".mi", "#Objective-C"}, - {".cc", "#C++"}, {".cxx", "#C++"}, {".cpp", "#C++"}, {".cp", "#C++"}, - {".c++", "#C++"}, {".C", "#C++"}, {".ii", "#C++"}, - {".ads", "#Ada"}, {".adb", "#Ada"}, {".ada", "#Ada"}, - {".f", "#Fortran"}, {".for", "#Fortran"}, {".fpp", "#Fortran"}, - {".F", "#Fortran"}, {".FOR", "#Fortran"}, {".FPP", "#Fortran"}, - {".r", "#Ratfor"}, - {".p", "#Pascal"}, {".pas", "#Pascal"}, - {".ch", "#Chill"}, {".chi", "#Chill"}, - {".java", "#Java"}, {".class", "#Java"}, - {".zip", "#Java"}, {".jar", "#Java"}, + {".m", "#Objective-C", 0}, {".mi", "#Objective-C", 0}, + {".cc", "#C++", 0}, {".cxx", "#C++", 0}, {".cpp", "#C++", 0}, + {".cp", "#C++", 0}, {".c++", "#C++", 0}, {".C", "#C++", 0}, + {".ii", "#C++", 0}, + {".ads", "#Ada", 0}, {".adb", "#Ada", 0}, {".ada", "#Ada", 0}, + {".f", "#Fortran", 0}, {".for", "#Fortran", 0}, {".fpp", "#Fortran", 0}, + {".F", "#Fortran", 0}, {".FOR", "#Fortran", 0}, {".FPP", "#Fortran", 0}, + {".r", "#Ratfor", 0}, + {".p", "#Pascal", 0}, {".pas", "#Pascal", 0}, + {".ch", "#Chill", 0}, {".chi", "#Chill", 0}, + {".java", "#Java", 0}, {".class", "#Java", 0}, + {".zip", "#Java", 0}, {".jar", "#Java", 0}, /* Next come the entries for C. */ - {".c", "@c"}, + {".c", "@c", 0}, {"@c", /* cc1 has an integrated ISO C preprocessor. We should invoke the external preprocessor if -save-temps or -traditional is given. */ @@ -793,27 +794,27 @@ static struct compiler default_compilers[] = cc1 -fpreprocessed %{!pipe:%g.i} %(cc1_options)}\ %{!traditional:%{!ftraditional:%{!traditional-cpp:\ cc1 -lang-c %{ansi:-std=c89} %(cpp_options) %(cc1_options)}}}}\ - %{!fsyntax-only:%(invoke_as)}}}}"}, + %{!fsyntax-only:%(invoke_as)}}}}", 0}, {"-", "%{!E:%e-E required when input is from standard input}\ - %(trad_capable_cpp) -lang-c %{ansi:-std=c89} %(cpp_options)"}, - {".h", "@c-header"}, + %(trad_capable_cpp) -lang-c %{ansi:-std=c89} %(cpp_options)", 0}, + {".h", "@c-header", 0}, {"@c-header", "%{!E:%eCompilation of header file requested} \ - %(trad_capable_cpp) -lang-c %{ansi:-std=c89} %(cpp_options)"}, - {".i", "@cpp-output"}, + %(trad_capable_cpp) -lang-c %{ansi:-std=c89} %(cpp_options)", 0}, + {".i", "@cpp-output", 0}, {"@cpp-output", - "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}"}, - {".s", "@assembler"}, + "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0}, + {".s", "@assembler", 0}, {"@assembler", - "%{!M:%{!MM:%{!E:%{!S:as %(asm_options) %i %A }}}}"}, - {".S", "@assembler-with-cpp"}, + "%{!M:%{!MM:%{!E:%{!S:as %(asm_options) %i %A }}}}", 0}, + {".S", "@assembler-with-cpp", 0}, {"@assembler-with-cpp", "%(trad_capable_cpp) -lang-asm %(cpp_options)\ - %{!M:%{!MM:%{!E:%(invoke_as)}}}"}, + %{!M:%{!MM:%{!E:%(invoke_as)}}}", 0}, #include "specs.h" /* Mark end of table */ - {0, 0} + {0, 0, 0} }; /* Number of elements in default_compilers, not counting the terminator. */ diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index e55383e..eefb895 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2001-03-01 Zack Weinberg + + * lang-specs.h: Add zero initializer for cpp_spec field to all + array elements. + 2001-02-16 Per Bothner Handle compiling multiple input files at once, and @FILE syntax. diff --git a/gcc/java/lang-specs.h b/gcc/java/lang-specs.h index d7cc59b..fa139aa 100644 --- a/gcc/java/lang-specs.h +++ b/gcc/java/lang-specs.h @@ -25,14 +25,14 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ /* This is the contribution to the `default_compilers' array in gcc.c for Java. */ - {".java", "@java" }, - {".class", "@java" }, - {".zip", "@java" }, - {".jar", "@java" }, + {".java", "@java" , 0}, + {".class", "@java" , 0}, + {".zip", "@java" , 0}, + {".jar", "@java" , 0}, {"@java", "%{fjni:%{femit-class-files:%e-fjni and -femit-class-files are incompatible}}\ %{fjni:%{femit-class-file:%e-fjni and -femit-class-file are incompatible}}\ %{!E:jc1 %i %(jc1) %(cc1_options) %{+e*} %{I*}\ %{MD} %{MMD} %{M} %{MM} %{MA} %{MT*} %{MF*}\ - %{!fsyntax-only:%(invoke_as)}}"}, + %{!fsyntax-only:%(invoke_as)}}", 0}, diff --git a/gcc/objc/lang-specs.h b/gcc/objc/lang-specs.h index e732d00..26f18f1 100644 --- a/gcc/objc/lang-specs.h +++ b/gcc/objc/lang-specs.h @@ -21,7 +21,7 @@ Boston, MA 02111-1307, USA. */ /* This is the contribution to the `default_compilers' array in gcc.c for objc. */ - {".m", "@objective-c"}, + {".m", "@objective-c", 0}, {"@objective-c", /* cc1obj has an integrated ISO C preprocessor. We should invoke the external preprocessor if -save-temps or -traditional is given. */ @@ -36,8 +36,8 @@ Boston, MA 02111-1307, USA. */ cc1obj -fpreprocessed %{!pipe:%g.mi} %(cc1_options) %{gen-decls}}\ %{!traditional:%{!ftraditional:%{!traditional-cpp:\ cc1obj %{ansi:-std=c89} %(cpp_options) %(cc1_options) %{gen-decls}}}}}\ - %{!fsyntax-only:%(invoke_as)}}}}"}, - {".mi", "@objc-cpp-output"}, + %{!fsyntax-only:%(invoke_as)}}}}", 0}, + {".mi", "@objc-cpp-output", 0}, {"@objc-cpp-output", "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{gen-decls}\ - %{!fsyntax-only:%(invoke_as)}}}}"}, + %{!fsyntax-only:%(invoke_as)}}}}", 0}, -- 2.7.4