diff options
author | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-13 03:57:40 +0000 |
---|---|---|
committer | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-13 03:57:40 +0000 |
commit | 7f0b0c275fbaeae21c3257af05ed98fe64837330 (patch) | |
tree | 6e552cd6afac414afba22bf962c7bef94bf8e7f5 /gcc/cp/g++spec.c | |
parent | 5b592939d9252a01123b7d7e35501317468fa089 (diff) | |
download | gcc-7f0b0c275fbaeae21c3257af05ed98fe64837330.tar.gz |
* Makefile.in (gcc.o, gccspec.o, cppspec.o): Depend on gcc.h.
* gcc.h: New file.
(lang_specific_driver): Don't take a function pointer parameter.
All callers changed.
* gcc.c: Include gcc.h.
(do_spec, fancy_abort,lang_specific_driver,lang_specific_pre_link,
lang_specific_extra_outfiles, fatal): Don't declare.
(multilib_defaults_raw): Constify.
(read_specs): Call memset, rather than bzero.
(main): Call return, not exit.
(lookup_compiler): Call memcpy, not bcopy.
(fatal): Make extern.
* cppspec.c: Include gcc.h.
(lang_specific_driver): Initialize variable `quote'. Constify a
char*. All calls to the function pointer parameter now
explicitly call `fatal'.
* gccspec.c (lang_specific_driver): Include gcc.h.
cp:
* Make-lang.in (g++spec.o): Depend on system.h and gcc.h.
* g++spec.c: Include gcc.h.
(lang_specific_driver): Constify a char*. Call xcalloc, not
xmalloc/bzero. All calls to the function pointer parameter now
explicitly call `fatal'.
f:
* Make-lang.in (g77spec.o): Depend on system.h and gcc.h.
* g77spec.c: Include gcc.h.
(g77_xargv): Constify.
(g77_fn): Add parameter prototypes.
(lookup_option, append_arg): Add static prototypes.
(g77_newargv): Constify.
(lookup_option, append_arg, lang_specific_driver): Constify a char*.
(lang_specific_driver): All calls to the function pointer
parameter now explicitly call `fatal'.
java:
* Make-lang.in (jvspec.o): Depend on system.h and gcc.h.
* jvspec.c: Include gcc.h. Don't include gansidecl.h.
(do_spec, lang_specific_pre_link, lang_specific_driver,
input_filename, input_filename_length): Don't declare.
(main_class_name, jvgenmain_spec, lang_specific_driver):
Constify a char*.
(lang_specific_driver): All calls to the function pointer
parameter now explicitly call `fatal'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29367 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/g++spec.c')
-rw-r--r-- | gcc/cp/g++spec.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c index 7e4d49cf014..239390d9c2d 100644 --- a/gcc/cp/g++spec.c +++ b/gcc/cp/g++spec.c @@ -20,6 +20,7 @@ Boston, MA 02111-1307, USA. */ #include "config.h" #include "system.h" +#include "gcc.h" /* This bit is set if we saw a `-xfoo' language specification. */ #define LANGSPEC (1<<1) @@ -37,8 +38,7 @@ Boston, MA 02111-1307, USA. */ #endif void -lang_specific_driver (fn, in_argc, in_argv, in_added_libraries) - void (*fn)(); +lang_specific_driver (in_argc, in_argv, in_added_libraries) int *in_argc; char ***in_argv; int *in_added_libraries; @@ -59,10 +59,11 @@ lang_specific_driver (fn, in_argc, in_argv, in_added_libraries) /* Used to track options that take arguments, so we don't go wrapping those with -xc++/-xnone. */ - char *quote = NULL; + const char *quote = NULL; /* The new argument list will be contained in this. */ - char **arglist; + char **real_arglist; + const char **arglist; /* Non-zero if we saw a `-xfoo' language specification on the command line. Used to avoid adding our own -xc++ if the user @@ -70,10 +71,10 @@ lang_specific_driver (fn, in_argc, in_argv, in_added_libraries) int saw_speclang = 0; /* "-lm" or "-lmath" if it appears on the command line. */ - char *saw_math = 0; + const char *saw_math = 0; /* "-lc" if it appears on the command line. */ - char *saw_libc = 0; + const char *saw_libc = 0; /* An array used to flag each argument that needs a bit set for LANGSPEC, MATHLIB, or WITHLIBC. */ @@ -98,8 +99,7 @@ lang_specific_driver (fn, in_argc, in_argv, in_added_libraries) argv = *in_argv; added_libraries = *in_added_libraries; - args = (int *) xmalloc (argc * sizeof (int)); - bzero ((char *) args, argc * sizeof (int)); + args = (int *) xcalloc (argc, sizeof (int)); for (i = 1; i < argc; i++) { @@ -188,7 +188,7 @@ lang_specific_driver (fn, in_argc, in_argv, in_added_libraries) } if (quote) - (*fn) ("argument to `%s' missing\n", quote); + fatal ("argument to `%s' missing\n", quote); /* If we know we don't have to do anything, bail now. */ if (! added && ! library) @@ -199,7 +199,8 @@ lang_specific_driver (fn, in_argc, in_argv, in_added_libraries) /* Make sure to have room for the trailing NULL argument. */ num_args = argc + added + need_math + 1; - arglist = (char **) xmalloc (num_args * sizeof (char *)); + real_arglist = (char **) xmalloc (num_args * sizeof (char *)); + arglist = (const char **) real_arglist; /* NOTE: We start at 1 now, not 0. */ for (i = 0, j = 0; i < argc; i++, j++) @@ -253,7 +254,7 @@ lang_specific_driver (fn, in_argc, in_argv, in_added_libraries) arglist[j] = NULL; *in_argc = j; - *in_argv = arglist; + *in_argv = real_arglist; *in_added_libraries = added_libraries; } |