summaryrefslogtreecommitdiff
path: root/gcc/cp/g++spec.c
diff options
context:
space:
mode:
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-13 03:57:40 +0000
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-13 03:57:40 +0000
commit7f0b0c275fbaeae21c3257af05ed98fe64837330 (patch)
tree6e552cd6afac414afba22bf962c7bef94bf8e7f5 /gcc/cp/g++spec.c
parent5b592939d9252a01123b7d7e35501317468fa089 (diff)
downloadgcc-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.c23
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;
}