squelch 120+ complaints about missing initializers
Zack Weinberg
zackw@stanford.edu
Tue Feb 27 22:21:00 GMT 2001
Someone added a field to struct compiler and didn't add the
initializers for it, hence you got about 120 instances of
gcc.c:733: warning: missing initializer
gcc.c:733: warning: (near initialization for `default_compilers[23].cpp_spec')
This patch simply adds 120 zeros to the initializer, silencing the
warnings.
Why do we use that convoluted phrasing for this warning? We know
exactly which data element needs an initializer.
zw
* 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.
===================================================================
Index: gcc.c
--- gcc.c 2001/02/24 03:20:17 1.210
+++ gcc.c 2001/02/28 06:19:37
@@ -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. */
===================================================================
Index: cp/lang-specs.h
--- cp/lang-specs.h 2001/02/13 13:11:40 1.40
+++ cp/lang-specs.h 2001/02/28 06:19:37
@@ -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},
===================================================================
Index: f/lang-specs.h
--- f/lang-specs.h 2000/09/26 17:28:07 1.27
+++ f/lang-specs.h 2001/02/28 06:19:37
@@ -24,23 +24,23 @@ the Free Software Foundation, 59 Temple
/* 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
%{!nostdlib:%{!nodefaultlibs:%G %L %G}} \
%{!A:%{!nostdlib:%{!nostartfiles:%E}}} \
%{T*} \n\
- %g \n"},
+ %g \n", 0},
===================================================================
Index: java/lang-specs.h
--- java/lang-specs.h 2000/10/20 21:19:29 1.18
+++ java/lang-specs.h 2001/02/28 06:19:37
@@ -25,14 +25,14 @@ The Free Software Foundation is independ
/* 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},
===================================================================
Index: objc/lang-specs.h
--- objc/lang-specs.h 2000/11/29 22:19:28 1.19
+++ objc/lang-specs.h 2001/02/28 06:19:37
@@ -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},
More information about the Gcc-patches
mailing list