Commit 878f32c3 by Kaveh R. Ghazi Committed by Kaveh Ghazi

gcc.c (print_file_name, [...]): Qualify a char* with the `const' keyword.

        * gcc.c (print_file_name, print_prog_name, spec_machine,
        read_specs, set_spec, lookup_compiler, build_search_list,
        putenv_from_prefixes, find_a_file, record_temp_file,
        delete_if_ordinary, handle_braces, do_spec, do_spec_1, find_file,
        is_directory, validate_switches, used_arg, default_arg,
        pfatal_with_name, perror_with_name, pfatal_pexecute, fatal, error,
        notice, add_preprocessor_option, add_assembler_option,
        add_linker_option, process_command, execute,
        unused_prefix_warnings, clear_args, fatal_error,
        lang_specific_driver, user_specs, compiler, link_command_spec,
        option_map, translate_options, make_temp_file, temp_name,
        programname, path_prefix, machine_suffix, just_machine_suffix,
        gcc_exec_prefix, standard_exec_prefix, standard_exec_prefix_1,
        md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1,
        standard_startfile_prefix, standard_startfile_prefix_1,
        standard_startfile_prefix_2, tooldir_base_prefix, tooldir_prefix,
        multilib_dir, temp_filename, temp_file, command, switchstr,
        infile, outfiles, input_filename, input_basename, input_suffix,
        check_live_switch, main): Qualify a char* with the `const' keyword.

From-SVN: r25676
parent ac7c5af5
Wed Mar 10 23:11:19 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.c (print_file_name, print_prog_name, spec_machine,
read_specs, set_spec, lookup_compiler, build_search_list,
putenv_from_prefixes, find_a_file, record_temp_file,
delete_if_ordinary, handle_braces, do_spec, do_spec_1, find_file,
is_directory, validate_switches, used_arg, default_arg,
pfatal_with_name, perror_with_name, pfatal_pexecute, fatal, error,
notice, add_preprocessor_option, add_assembler_option,
add_linker_option, process_command, execute,
unused_prefix_warnings, clear_args, fatal_error,
lang_specific_driver, user_specs, compiler, link_command_spec,
option_map, translate_options, make_temp_file, temp_name,
programname, path_prefix, machine_suffix, just_machine_suffix,
gcc_exec_prefix, standard_exec_prefix, standard_exec_prefix_1,
md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1,
standard_startfile_prefix, standard_startfile_prefix_1,
standard_startfile_prefix_2, tooldir_base_prefix, tooldir_prefix,
multilib_dir, temp_filename, temp_file, command, switchstr,
infile, outfiles, input_filename, input_basename, input_suffix,
check_live_switch, main): Qualify a char* with the `const' keyword.
Wed Mar 10 20:28:29 1999 Jeffrey A Law (law@cygnus.com) Wed Mar 10 20:28:29 1999 Jeffrey A Law (law@cygnus.com)
* gcse.c: Update various comments. * gcse.c: Update various comments.
......
...@@ -92,11 +92,11 @@ static int print_search_dirs; ...@@ -92,11 +92,11 @@ static int print_search_dirs;
/* Flag saying to print the full filename of this file /* Flag saying to print the full filename of this file
as found through our usual search mechanism. */ as found through our usual search mechanism. */
static char *print_file_name = NULL; static const char *print_file_name = NULL;
/* As print_file_name, but search for executable file. */ /* As print_file_name, but search for executable file. */
static char *print_prog_name = NULL; static const char *print_prog_name = NULL;
/* Flag saying to print the relative path we'd use to /* Flag saying to print the relative path we'd use to
find libgcc.a given the current compiler flags. */ find libgcc.a given the current compiler flags. */
...@@ -132,7 +132,7 @@ static char *spec_version = DEFAULT_TARGET_VERSION; ...@@ -132,7 +132,7 @@ static char *spec_version = DEFAULT_TARGET_VERSION;
/* The target machine specified with -b. */ /* The target machine specified with -b. */
static char *spec_machine = DEFAULT_TARGET_MACHINE; static const char *spec_machine = DEFAULT_TARGET_MACHINE;
/* Nonzero if cross-compiling. /* Nonzero if cross-compiling.
When -b is used, the value comes from the `specs' file. */ When -b is used, the value comes from the `specs' file. */
...@@ -164,50 +164,59 @@ extern char *version_string; ...@@ -164,50 +164,59 @@ extern char *version_string;
struct path_prefix; struct path_prefix;
static void init_spec PROTO((void)); static void init_spec PROTO((void));
static void read_specs PROTO((char *, int)); static void read_specs PROTO((const char *, int));
static void set_spec PROTO((char *, char *)); static void set_spec PROTO((const char *, const char *));
static struct compiler *lookup_compiler PROTO((char *, size_t, char *)); static struct compiler *lookup_compiler PROTO((const char *, size_t, const char *));
static char *build_search_list PROTO((struct path_prefix *, char *, int)); static char *build_search_list PROTO((struct path_prefix *, const char *, int));
static void putenv_from_prefixes PROTO((struct path_prefix *, char *)); static void putenv_from_prefixes PROTO((struct path_prefix *, const char *));
static char *find_a_file PROTO((struct path_prefix *, char *, int)); static char *find_a_file PROTO((struct path_prefix *, const char *, int));
static void add_prefix PROTO((struct path_prefix *, const char *, static void add_prefix PROTO((struct path_prefix *, const char *,
const char *, int, int, int *)); const char *, int, int, int *));
static char *skip_whitespace PROTO((char *)); static char *skip_whitespace PROTO((char *));
static void record_temp_file PROTO((char *, int, int)); static void record_temp_file PROTO((const char *, int, int));
static void delete_if_ordinary PROTO((char *)); static void delete_if_ordinary PROTO((const char *));
static void delete_temp_files PROTO((void)); static void delete_temp_files PROTO((void));
static void delete_failure_queue PROTO((void)); static void delete_failure_queue PROTO((void));
static void clear_failure_queue PROTO((void)); static void clear_failure_queue PROTO((void));
static int check_live_switch PROTO((int, int)); static int check_live_switch PROTO((int, int));
static char *handle_braces PROTO((char *)); static const char *handle_braces PROTO((const char *));
static char *save_string PROTO((const char *, int)); static char *save_string PROTO((const char *, int));
extern int do_spec PROTO((char *)); extern int do_spec PROTO((const char *));
static int do_spec_1 PROTO((char *, int, char *)); static int do_spec_1 PROTO((const char *, int, const char *));
static char *find_file PROTO((char *)); static const char *find_file PROTO((const char *));
static int is_directory PROTO((char *, char *, int)); static int is_directory PROTO((const char *, const char *, int));
static void validate_switches PROTO((char *)); static void validate_switches PROTO((const char *));
static void validate_all_switches PROTO((void)); static void validate_all_switches PROTO((void));
static void give_switch PROTO((int, int, int)); static void give_switch PROTO((int, int, int));
static int used_arg PROTO((char *, int)); static int used_arg PROTO((const char *, int));
static int default_arg PROTO((char *, int)); static int default_arg PROTO((const char *, int));
static void set_multilib_dir PROTO((void)); static void set_multilib_dir PROTO((void));
static void print_multilib_info PROTO((void)); static void print_multilib_info PROTO((void));
static void pfatal_with_name PROTO((char *)) ATTRIBUTE_NORETURN; static void pfatal_with_name PROTO((const char *)) ATTRIBUTE_NORETURN;
static void perror_with_name PROTO((char *)); static void perror_with_name PROTO((const char *));
static void pfatal_pexecute PROTO((char *, char *)) ATTRIBUTE_NORETURN; static void pfatal_pexecute PROTO((const char *, const char *))
static void fatal PVPROTO((char *, ...)) ATTRIBUTE_NORETURN; ATTRIBUTE_NORETURN;
static void error PVPROTO((char *, ...)); static void fatal PVPROTO((const char *, ...))
static void fatal PVPROTO((char *, ...))
ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_1; ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_1;
static void error PVPROTO((char *, ...)) ATTRIBUTE_PRINTF_1; static void error PVPROTO((const char *, ...))
static void notice PVPROTO((char *, ...)); ATTRIBUTE_PRINTF_1;
static void notice PVPROTO((const char *, ...))
ATTRIBUTE_PRINTF_1;
static void display_help PROTO((void)); static void display_help PROTO((void));
static void add_preprocessor_option PROTO ((const char *, int));
static void add_assembler_option PROTO ((const char *, int));
static void add_linker_option PROTO ((const char *, int));
static void process_command PROTO ((int, char **));
static int execute PROTO ((void));
static void unused_prefix_warnings PROTO ((struct path_prefix *));
static void clear_args PROTO ((void));
static void fatal_error PROTO ((int));
void fancy_abort PROTO((void)) ATTRIBUTE_NORETURN; void fancy_abort PROTO((void)) ATTRIBUTE_NORETURN;
#ifdef LANG_SPECIFIC_DRIVER #ifdef LANG_SPECIFIC_DRIVER
/* Called before processing to change/add/remove arguments. */ /* Called before processing to change/add/remove arguments. */
extern void lang_specific_driver PROTO ((void (*) PVPROTO((char *, ...)), int *, char ***, int *)); extern void lang_specific_driver PROTO ((void (*) PVPROTO((const char *, ...)), int *, char ***, int *));
/* Called before linking. Returns 0 on success and -1 on failure. */ /* Called before linking. Returns 0 on success and -1 on failure. */
extern int lang_specific_pre_link (); extern int lang_specific_pre_link ();
...@@ -490,7 +499,7 @@ static char *multilib_defaults_raw[] = MULTILIB_DEFAULTS; ...@@ -490,7 +499,7 @@ static char *multilib_defaults_raw[] = MULTILIB_DEFAULTS;
struct user_specs { struct user_specs {
struct user_specs *next; struct user_specs *next;
char *filename; const char *filename;
}; };
static struct user_specs *user_specs_head, *user_specs_tail; static struct user_specs *user_specs_head, *user_specs_tail;
...@@ -538,10 +547,10 @@ static struct user_specs *user_specs_head, *user_specs_tail; ...@@ -538,10 +547,10 @@ static struct user_specs *user_specs_head, *user_specs_tail;
struct compiler struct compiler
{ {
char *suffix; /* Use this compiler for input files const char *suffix; /* Use this compiler for input files
whose names end in this suffix. */ whose names end in this suffix. */
char *spec[4]; /* To use this compiler, concatenate these const char *spec[4]; /* To use this compiler, concatenate these
specs and pass to do_spec. */ specs and pass to do_spec. */
}; };
...@@ -729,12 +738,12 @@ static int n_default_compilers ...@@ -729,12 +738,12 @@ static int n_default_compilers
#ifdef LINK_COMMAND_SPEC #ifdef LINK_COMMAND_SPEC
/* Provide option to override link_command_spec from machine specific /* Provide option to override link_command_spec from machine specific
configuration files. */ configuration files. */
static char *link_command_spec = static const char *link_command_spec =
LINK_COMMAND_SPEC; LINK_COMMAND_SPEC;
#else #else
#ifdef LINK_LIBGCC_SPECIAL #ifdef LINK_LIBGCC_SPECIAL
/* Don't generate -L options. */ /* Don't generate -L options. */
static char *link_command_spec = "\ static const char *link_command_spec = "\
%{!fsyntax-only: \ %{!fsyntax-only: \
%{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} \ %{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} \
%{r} %{s} %{t} %{u*} %{x} %{z} %{Z}\ %{r} %{s} %{t} %{u*} %{x} %{z} %{Z}\
...@@ -746,7 +755,7 @@ static char *link_command_spec = "\ ...@@ -746,7 +755,7 @@ static char *link_command_spec = "\
\n }}}}}}"; \n }}}}}}";
#else #else
/* Use -L. */ /* Use -L. */
static char *link_command_spec = "\ static const char *link_command_spec = "\
%{!fsyntax-only: \ %{!fsyntax-only: \
%{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} \ %{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} \
%{r} %{s} %{t} %{u*} %{x} %{z} %{Z}\ %{r} %{s} %{t} %{u*} %{x} %{z} %{Z}\
...@@ -783,15 +792,15 @@ static char **preprocessor_options; ...@@ -783,15 +792,15 @@ static char **preprocessor_options;
struct option_map struct option_map
{ {
/* The long option's name. */ /* The long option's name. */
char *name; const char *name;
/* The equivalent short option. */ /* The equivalent short option. */
char *equivalent; const char *equivalent;
/* Argument info. A string of flag chars; NULL equals no options. /* Argument info. A string of flag chars; NULL equals no options.
a => argument required. a => argument required.
o => argument optional. o => argument optional.
j => join argument to equivalent, making one word. j => join argument to equivalent, making one word.
* => require other text after NAME as an argument. */ * => require other text after NAME as an argument. */
char *arg_info; const char *arg_info;
}; };
/* This is the table of mappings. Mappings are tried sequentially /* This is the table of mappings. Mappings are tried sequentially
...@@ -883,12 +892,13 @@ struct option_map option_map[] = ...@@ -883,12 +892,13 @@ struct option_map option_map[] =
static void static void
translate_options (argcp, argvp) translate_options (argcp, argvp)
int *argcp; int *argcp;
char ***argvp; const char ***argvp;
{ {
int i; int i;
int argc = *argcp; int argc = *argcp;
char **argv = *argvp; const char **argv = *argvp;
char **newv = (char **) xmalloc ((argc + 2) * 2 * sizeof (char *)); const char **newv =
(const char **) xmalloc ((argc + 2) * 2 * sizeof (const char *));
int newindex = 0; int newindex = 0;
i = 0; i = 0;
...@@ -906,14 +916,14 @@ translate_options (argcp, argvp) ...@@ -906,14 +916,14 @@ translate_options (argcp, argvp)
size_t optlen = strlen (option_map[j].name); size_t optlen = strlen (option_map[j].name);
size_t arglen = strlen (argv[i]); size_t arglen = strlen (argv[i]);
size_t complen = arglen > optlen ? optlen : arglen; size_t complen = arglen > optlen ? optlen : arglen;
char *arginfo = option_map[j].arg_info; const char *arginfo = option_map[j].arg_info;
if (arginfo == 0) if (arginfo == 0)
arginfo = ""; arginfo = "";
if (!strncmp (argv[i], option_map[j].name, complen)) if (!strncmp (argv[i], option_map[j].name, complen))
{ {
char *arg = 0; const char *arg = 0;
if (arglen < optlen) if (arglen < optlen)
{ {
...@@ -1002,7 +1012,7 @@ translate_options (argcp, argvp) ...@@ -1002,7 +1012,7 @@ translate_options (argcp, argvp)
with their arguments. */ with their arguments. */
else if (argv[i][0] == '-') else if (argv[i][0] == '-')
{ {
char *p = argv[i] + 1; const char *p = argv[i] + 1;
int c = *p; int c = *p;
int nskip = 1; int nskip = 1;
...@@ -1198,8 +1208,8 @@ init_spec () ...@@ -1198,8 +1208,8 @@ init_spec ()
static void static void
set_spec (name, spec) set_spec (name, spec)
char *name; const char *name;
char *spec; const char *spec;
{ {
struct spec_list *sl; struct spec_list *sl;
char *old_spec; char *old_spec;
...@@ -1274,16 +1284,16 @@ static int argbuf_index; ...@@ -1274,16 +1284,16 @@ static int argbuf_index;
#ifdef MKTEMP_EACH_FILE #ifdef MKTEMP_EACH_FILE
extern char *make_temp_file PROTO((char *)); extern char *make_temp_file PROTO((const char *));
/* This is the list of suffixes and codes (%g/%u/%U) and the associated /* This is the list of suffixes and codes (%g/%u/%U) and the associated
temp file. */ temp file. */
static struct temp_name { static struct temp_name {
char *suffix; /* suffix associated with the code. */ const char *suffix; /* suffix associated with the code. */
int length; /* strlen (suffix). */ int length; /* strlen (suffix). */
int unique; /* Indicates whether %g or %u/%U was used. */ int unique; /* Indicates whether %g or %u/%U was used. */
char *filename; /* associated filename. */ const char *filename; /* associated filename. */
int filename_length; /* strlen (filename). */ int filename_length; /* strlen (filename). */
struct temp_name *next; struct temp_name *next;
} *temp_names; } *temp_names;
...@@ -1300,7 +1310,7 @@ static int signal_count; ...@@ -1300,7 +1310,7 @@ static int signal_count;
/* Name with which this program was invoked. */ /* Name with which this program was invoked. */
static char *programname; static const char *programname;
/* Structures to keep track of prefixes to try when looking for files. */ /* Structures to keep track of prefixes to try when looking for files. */
...@@ -1317,7 +1327,7 @@ struct path_prefix ...@@ -1317,7 +1327,7 @@ struct path_prefix
{ {
struct prefix_list *plist; /* List of prefixes to try */ struct prefix_list *plist; /* List of prefixes to try */
int max_len; /* Max length of a prefix in PLIST */ int max_len; /* Max length of a prefix in PLIST */
char *name; /* Name of this list (used in config stuff) */ const char *name; /* Name of this list (used in config stuff) */
}; };
/* List of prefixes to try when looking for executables. */ /* List of prefixes to try when looking for executables. */
...@@ -1335,16 +1345,16 @@ static struct path_prefix include_prefixes = { 0, 0, "include" }; ...@@ -1335,16 +1345,16 @@ static struct path_prefix include_prefixes = { 0, 0, "include" };
/* Suffix to attach to directories searched for commands. /* Suffix to attach to directories searched for commands.
This looks like `MACHINE/VERSION/'. */ This looks like `MACHINE/VERSION/'. */
static char *machine_suffix = 0; static const char *machine_suffix = 0;
/* Suffix to attach to directories searched for commands. /* Suffix to attach to directories searched for commands.
This is just `MACHINE/'. */ This is just `MACHINE/'. */
static char *just_machine_suffix = 0; static const char *just_machine_suffix = 0;
/* Adjusted value of GCC_EXEC_PREFIX envvar. */ /* Adjusted value of GCC_EXEC_PREFIX envvar. */
static char *gcc_exec_prefix; static const char *gcc_exec_prefix;
/* Default prefixes to attach to command names. */ /* Default prefixes to attach to command names. */
...@@ -1358,10 +1368,10 @@ static char *gcc_exec_prefix; ...@@ -1358,10 +1368,10 @@ static char *gcc_exec_prefix;
#define STANDARD_EXEC_PREFIX "/usr/local/lib/gcc-lib/" #define STANDARD_EXEC_PREFIX "/usr/local/lib/gcc-lib/"
#endif /* !defined STANDARD_EXEC_PREFIX */ #endif /* !defined STANDARD_EXEC_PREFIX */
static char *standard_exec_prefix = STANDARD_EXEC_PREFIX; static const char *standard_exec_prefix = STANDARD_EXEC_PREFIX;
static char *standard_exec_prefix_1 = "/usr/lib/gcc/"; static const char *standard_exec_prefix_1 = "/usr/lib/gcc/";
#ifdef MD_EXEC_PREFIX #ifdef MD_EXEC_PREFIX
static char *md_exec_prefix = MD_EXEC_PREFIX; static const char *md_exec_prefix = MD_EXEC_PREFIX;
#endif #endif
#ifndef STANDARD_STARTFILE_PREFIX #ifndef STANDARD_STARTFILE_PREFIX
...@@ -1369,25 +1379,25 @@ static char *md_exec_prefix = MD_EXEC_PREFIX; ...@@ -1369,25 +1379,25 @@ static char *md_exec_prefix = MD_EXEC_PREFIX;
#endif /* !defined STANDARD_STARTFILE_PREFIX */ #endif /* !defined STANDARD_STARTFILE_PREFIX */
#ifdef MD_STARTFILE_PREFIX #ifdef MD_STARTFILE_PREFIX
static char *md_startfile_prefix = MD_STARTFILE_PREFIX; static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
#endif #endif
#ifdef MD_STARTFILE_PREFIX_1 #ifdef MD_STARTFILE_PREFIX_1
static char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
#endif #endif
static char *standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; static const char *standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
static char *standard_startfile_prefix_1 = "/lib/"; static const char *standard_startfile_prefix_1 = "/lib/";
static char *standard_startfile_prefix_2 = "/usr/lib/"; static const char *standard_startfile_prefix_2 = "/usr/lib/";
#ifndef TOOLDIR_BASE_PREFIX #ifndef TOOLDIR_BASE_PREFIX
#define TOOLDIR_BASE_PREFIX "/usr/local/" #define TOOLDIR_BASE_PREFIX "/usr/local/"
#endif #endif
static char *tooldir_base_prefix = TOOLDIR_BASE_PREFIX; static const char *tooldir_base_prefix = TOOLDIR_BASE_PREFIX;
static char *tooldir_prefix; static const char *tooldir_prefix;
/* Subdirectory to use for locating libraries. Set by /* Subdirectory to use for locating libraries. Set by
set_multilib_dir based on the compilation options. */ set_multilib_dir based on the compilation options. */
static char *multilib_dir; static const char *multilib_dir;
/* Clear out the vector of arguments (after a command is executed). */ /* Clear out the vector of arguments (after a command is executed). */
...@@ -1433,7 +1443,7 @@ store_arg (arg, delete_always, delete_failure) ...@@ -1433,7 +1443,7 @@ store_arg (arg, delete_always, delete_failure)
static void static void
read_specs (filename, main_p) read_specs (filename, main_p)
char *filename; const char *filename;
int main_p; int main_p;
{ {
int desc; int desc;
...@@ -1692,7 +1702,7 @@ read_specs (filename, main_p) ...@@ -1692,7 +1702,7 @@ read_specs (filename, main_p)
otherwise, in /usr/tmp or /tmp; otherwise, in /usr/tmp or /tmp;
or finally the current directory if all else fails. */ or finally the current directory if all else fails. */
static char *temp_filename; static const char *temp_filename;
/* Length of the prefix. */ /* Length of the prefix. */
...@@ -1702,7 +1712,7 @@ static int temp_filename_length; ...@@ -1702,7 +1712,7 @@ static int temp_filename_length;
struct temp_file struct temp_file
{ {
char *name; const char *name;
struct temp_file *next; struct temp_file *next;
}; };
...@@ -1719,7 +1729,7 @@ static struct temp_file *failure_delete_queue; ...@@ -1719,7 +1729,7 @@ static struct temp_file *failure_delete_queue;
static void static void
record_temp_file (filename, always_delete, fail_delete) record_temp_file (filename, always_delete, fail_delete)
char *filename; const char *filename;
int always_delete; int always_delete;
int fail_delete; int fail_delete;
{ {
...@@ -1762,7 +1772,7 @@ record_temp_file (filename, always_delete, fail_delete) ...@@ -1762,7 +1772,7 @@ record_temp_file (filename, always_delete, fail_delete)
static void static void
delete_if_ordinary (name) delete_if_ordinary (name)
char *name; const char *name;
{ {
struct stat st; struct stat st;
#ifdef DEBUG #ifdef DEBUG
...@@ -1874,7 +1884,7 @@ putenv (str) ...@@ -1874,7 +1884,7 @@ putenv (str)
static char * static char *
build_search_list (paths, prefix, check_dir_p) build_search_list (paths, prefix, check_dir_p)
struct path_prefix *paths; struct path_prefix *paths;
char *prefix; const char *prefix;
int check_dir_p; int check_dir_p;
{ {
int suffix_len = (machine_suffix) ? strlen (machine_suffix) : 0; int suffix_len = (machine_suffix) ? strlen (machine_suffix) : 0;
...@@ -1935,7 +1945,7 @@ build_search_list (paths, prefix, check_dir_p) ...@@ -1935,7 +1945,7 @@ build_search_list (paths, prefix, check_dir_p)
static void static void
putenv_from_prefixes (paths, env_var) putenv_from_prefixes (paths, env_var)
struct path_prefix *paths; struct path_prefix *paths;
char *env_var; const char *env_var;
{ {
putenv (build_search_list (paths, env_var, 1)); putenv (build_search_list (paths, env_var, 1));
} }
...@@ -1947,11 +1957,11 @@ putenv_from_prefixes (paths, env_var) ...@@ -1947,11 +1957,11 @@ putenv_from_prefixes (paths, env_var)
static char * static char *
find_a_file (pprefix, name, mode) find_a_file (pprefix, name, mode)
struct path_prefix *pprefix; struct path_prefix *pprefix;
char *name; const char *name;
int mode; int mode;
{ {
char *temp; char *temp;
char *file_suffix = ((mode & X_OK) != 0 ? EXECUTABLE_SUFFIX : ""); const char *file_suffix = ((mode & X_OK) != 0 ? EXECUTABLE_SUFFIX : "");
struct prefix_list *pl; struct prefix_list *pl;
int len = pprefix->max_len + strlen (name) + strlen (file_suffix) + 1; int len = pprefix->max_len + strlen (name) + strlen (file_suffix) + 1;
...@@ -2187,7 +2197,7 @@ execute () ...@@ -2187,7 +2197,7 @@ execute ()
char *string; char *string;
struct command struct command
{ {
char *prog; /* program name. */ const char *prog; /* program name. */
char **argv; /* vector of args. */ char **argv; /* vector of args. */
int pid; /* pid of process for this command. */ int pid; /* pid of process for this command. */
}; };
...@@ -2347,7 +2357,7 @@ execute () ...@@ -2347,7 +2357,7 @@ execute ()
struct switchstr struct switchstr
{ {
char *part1; const char *part1;
char **args; char **args;
int live_cond; int live_cond;
int validated; int validated;
...@@ -2359,8 +2369,8 @@ static int n_switches; ...@@ -2359,8 +2369,8 @@ static int n_switches;
struct infile struct infile
{ {
char *name; const char *name;
char *language; const char *language;
}; };
/* Also a vector of input files specified. */ /* Also a vector of input files specified. */
...@@ -2376,7 +2386,7 @@ static int added_libraries; ...@@ -2376,7 +2386,7 @@ static int added_libraries;
/* And a vector of corresponding output files is made up later. */ /* And a vector of corresponding output files is made up later. */
static char **outfiles; static const char **outfiles;
/* Used to track if none of the -B paths are used. */ /* Used to track if none of the -B paths are used. */
static int warn_B; static int warn_B;
...@@ -2493,7 +2503,7 @@ display_help () ...@@ -2493,7 +2503,7 @@ display_help ()
static void static void
add_preprocessor_option (option, len) add_preprocessor_option (option, len)
char * option; const char * option;
int len; int len;
{ {
n_preprocessor_options++; n_preprocessor_options++;
...@@ -2506,12 +2516,13 @@ add_preprocessor_option (option, len) ...@@ -2506,12 +2516,13 @@ add_preprocessor_option (option, len)
= (char **) xrealloc (preprocessor_options, = (char **) xrealloc (preprocessor_options,
n_preprocessor_options * sizeof (char *)); n_preprocessor_options * sizeof (char *));
preprocessor_options [n_preprocessor_options - 1] = save_string (option, len); preprocessor_options [n_preprocessor_options - 1] =
save_string (option, len);
} }
static void static void
add_assembler_option (option, len) add_assembler_option (option, len)
char * option; const char * option;
int len; int len;
{ {
n_assembler_options++; n_assembler_options++;
...@@ -2529,7 +2540,7 @@ add_assembler_option (option, len) ...@@ -2529,7 +2540,7 @@ add_assembler_option (option, len)
static void static void
add_linker_option (option, len) add_linker_option (option, len)
char * option; const char * option;
int len; int len;
{ {
n_linker_options++; n_linker_options++;
...@@ -2554,7 +2565,8 @@ process_command (argc, argv) ...@@ -2554,7 +2565,8 @@ process_command (argc, argv)
char **argv; char **argv;
{ {
register int i; register int i;
char *temp; const char *temp;
char *temp1;
char *spec_lang = 0; char *spec_lang = 0;
int last_language_n_infiles; int last_language_n_infiles;
int have_c = 0; int have_c = 0;
...@@ -2569,12 +2581,13 @@ process_command (argc, argv) ...@@ -2569,12 +2581,13 @@ process_command (argc, argv)
/* Figure compiler version from version string. */ /* Figure compiler version from version string. */
compiler_version = save_string (version_string, strlen (version_string)); compiler_version = temp1 =
for (temp = compiler_version; *temp; ++temp) save_string (version_string, strlen (version_string));
for (; *temp1; ++temp1)
{ {
if (*temp == ' ') if (*temp1 == ' ')
{ {
*temp = '\0'; *temp1 = '\0';
break; break;
} }
} }
...@@ -2607,7 +2620,7 @@ process_command (argc, argv) ...@@ -2607,7 +2620,7 @@ process_command (argc, argv)
GET_ENV_PATH_LIST (temp, "COMPILER_PATH"); GET_ENV_PATH_LIST (temp, "COMPILER_PATH");
if (temp) if (temp)
{ {
char *startp, *endp; const char *startp, *endp;
char *nstore = (char *) alloca (strlen (temp) + 3); char *nstore = (char *) alloca (strlen (temp) + 3);
startp = endp = temp; startp = endp = temp;
...@@ -2641,7 +2654,7 @@ process_command (argc, argv) ...@@ -2641,7 +2654,7 @@ process_command (argc, argv)
GET_ENV_PATH_LIST (temp, "LIBRARY_PATH"); GET_ENV_PATH_LIST (temp, "LIBRARY_PATH");
if (temp && *cross_compile == '0') if (temp && *cross_compile == '0')
{ {
char *startp, *endp; const char *startp, *endp;
char *nstore = (char *) alloca (strlen (temp) + 3); char *nstore = (char *) alloca (strlen (temp) + 3);
startp = endp = temp; startp = endp = temp;
...@@ -2674,7 +2687,7 @@ process_command (argc, argv) ...@@ -2674,7 +2687,7 @@ process_command (argc, argv)
GET_ENV_PATH_LIST (temp, "LPATH"); GET_ENV_PATH_LIST (temp, "LPATH");
if (temp && *cross_compile == '0') if (temp && *cross_compile == '0')
{ {
char *startp, *endp; const char *startp, *endp;
char *nstore = (char *) alloca (strlen (temp) + 3); char *nstore = (char *) alloca (strlen (temp) + 3);
startp = endp = temp; startp = endp = temp;
...@@ -2940,7 +2953,7 @@ process_command (argc, argv) ...@@ -2940,7 +2953,7 @@ process_command (argc, argv)
The format of the version string is The format of the version string is
([^0-9]*-)?[0-9]+[.][0-9]+([.][0-9]+)?([- ].*)? */ ([^0-9]*-)?[0-9]+[.][0-9]+([.][0-9]+)?([- ].*)? */
{ {
char *v = compiler_version; const char *v = compiler_version;
/* Ignore leading non-digits. i.e. "foo-" in "foo-2.7.2". */ /* Ignore leading non-digits. i.e. "foo-" in "foo-2.7.2". */
while (! ISDIGIT (*v)) while (! ISDIGIT (*v))
...@@ -3303,12 +3316,12 @@ process_command (argc, argv) ...@@ -3303,12 +3316,12 @@ process_command (argc, argv)
sans all directory names, and basename_length is the number sans all directory names, and basename_length is the number
of characters starting there excluding the suffix .c or whatever. */ of characters starting there excluding the suffix .c or whatever. */
char *input_filename; const char *input_filename;
static int input_file_number; static int input_file_number;
size_t input_filename_length; size_t input_filename_length;
static int basename_length; static int basename_length;
static char *input_basename; static const char *input_basename;
static char *input_suffix; static const char *input_suffix;
/* These are variables used within do_spec and do_spec_1. */ /* These are variables used within do_spec and do_spec_1. */
...@@ -3337,7 +3350,7 @@ static int input_from_pipe; ...@@ -3337,7 +3350,7 @@ static int input_from_pipe;
int int
do_spec (spec) do_spec (spec)
char *spec; const char *spec;
{ {
int value; int value;
...@@ -3378,14 +3391,14 @@ do_spec (spec) ...@@ -3378,14 +3391,14 @@ do_spec (spec)
static int static int
do_spec_1 (spec, inswitch, soft_matched_part) do_spec_1 (spec, inswitch, soft_matched_part)
char *spec; const char *spec;
int inswitch; int inswitch;
char *soft_matched_part; const char *soft_matched_part;
{ {
register char *p = spec; register const char *p = spec;
register int c; register int c;
int i; int i;
char *string; const char *string;
int value; int value;
while ((c = *p++)) while ((c = *p++))
...@@ -3609,7 +3622,7 @@ do_spec_1 (spec, inswitch, soft_matched_part) ...@@ -3609,7 +3622,7 @@ do_spec_1 (spec, inswitch, soft_matched_part)
/* %efoo means report an error with `foo' as error message /* %efoo means report an error with `foo' as error message
and don't execute any more commands for this file. */ and don't execute any more commands for this file. */
{ {
char *q = p; const char *q = p;
char *buf; char *buf;
while (*p != 0 && *p != '\n') p++; while (*p != 0 && *p != '\n') p++;
buf = (char *) alloca (p - q + 1); buf = (char *) alloca (p - q + 1);
...@@ -3637,7 +3650,7 @@ do_spec_1 (spec, inswitch, soft_matched_part) ...@@ -3637,7 +3650,7 @@ do_spec_1 (spec, inswitch, soft_matched_part)
In 2.4, do something about that. */ In 2.4, do something about that. */
struct temp_name *t; struct temp_name *t;
int suffix_length; int suffix_length;
char *suffix = p; const char *suffix = p;
if (p[0] == '%' && p[1] == 'O') if (p[0] == '%' && p[1] == 'O')
{ {
...@@ -3773,7 +3786,7 @@ do_spec_1 (spec, inswitch, soft_matched_part) ...@@ -3773,7 +3786,7 @@ do_spec_1 (spec, inswitch, soft_matched_part)
/* %x{OPTION} records OPTION for %X to output. */ /* %x{OPTION} records OPTION for %X to output. */
case 'x': case 'x':
{ {
char *p1 = p; const char *p1 = p;
char *string; char *string;
/* Skip past the option value and make a copy. */ /* Skip past the option value and make a copy. */
...@@ -4070,7 +4083,7 @@ do_spec_1 (spec, inswitch, soft_matched_part) ...@@ -4070,7 +4083,7 @@ do_spec_1 (spec, inswitch, soft_matched_part)
error ("Warning: use of obsolete %%[ operator in specs"); error ("Warning: use of obsolete %%[ operator in specs");
case '(': case '(':
{ {
char *name = p; const char *name = p;
struct spec_list *sl; struct spec_list *sl;
int len; int len;
...@@ -4103,7 +4116,7 @@ do_spec_1 (spec, inswitch, soft_matched_part) ...@@ -4103,7 +4116,7 @@ do_spec_1 (spec, inswitch, soft_matched_part)
{ {
char *x = (char *) alloca (strlen (name) * 2 + 1); char *x = (char *) alloca (strlen (name) * 2 + 1);
char *buf = x; char *buf = x;
char *y = name; const char *y = name;
int flag = 0; int flag = 0;
/* Copy all of NAME into BUF, but put __ after /* Copy all of NAME into BUF, but put __ after
...@@ -4211,11 +4224,11 @@ do_spec_1 (spec, inswitch, soft_matched_part) ...@@ -4211,11 +4224,11 @@ do_spec_1 (spec, inswitch, soft_matched_part)
/* Return 0 if we call do_spec_1 and that returns -1. */ /* Return 0 if we call do_spec_1 and that returns -1. */
static char * static const char *
handle_braces (p) handle_braces (p)
register char *p; register const char *p;
{ {
char *filter, *body = NULL, *endbody; const char *filter, *body = NULL, *endbody = NULL;
int pipe_p = 0; int pipe_p = 0;
int negate; int negate;
int suffix; int suffix;
...@@ -4260,7 +4273,7 @@ next_member: ...@@ -4260,7 +4273,7 @@ next_member:
if (*p != '}') if (*p != '}')
{ {
register int count = 1; register int count = 1;
register char *q = p; register const char *q = p;
while (*q++ != ':') continue; while (*q++ != ':') continue;
body = q; body = q;
...@@ -4315,7 +4328,7 @@ next_member: ...@@ -4315,7 +4328,7 @@ next_member:
if (p[-1] == '*' && !negate) if (p[-1] == '*' && !negate)
{ {
int substitution; int substitution;
char *r = body; const char *r = body;
/* First see whether we have %*. */ /* First see whether we have %*. */
substitution = 0; substitution = 0;
...@@ -4426,7 +4439,7 @@ check_live_switch (switchnum, prefix_length) ...@@ -4426,7 +4439,7 @@ check_live_switch (switchnum, prefix_length)
int switchnum; int switchnum;
int prefix_length; int prefix_length;
{ {
char *name = switches[switchnum].part1; const char *name = switches[switchnum].part1;
int i; int i;
/* In the common case of {<at-most-one-letter>*}, a negating /* In the common case of {<at-most-one-letter>*}, a negating
...@@ -4531,9 +4544,9 @@ give_switch (switchnum, omit_first_word, include_blanks) ...@@ -4531,9 +4544,9 @@ give_switch (switchnum, omit_first_word, include_blanks)
user's -B prefix and some standard ones. user's -B prefix and some standard ones.
Return the absolute file name found. If nothing is found, return NAME. */ Return the absolute file name found. If nothing is found, return NAME. */
static char * static const char *
find_file (name) find_file (name)
char *name; const char *name;
{ {
char *newname; char *newname;
...@@ -4566,8 +4579,8 @@ find_file (name) ...@@ -4566,8 +4579,8 @@ find_file (name)
static int static int
is_directory (path1, path2, linker) is_directory (path1, path2, linker)
char *path1; const char *path1;
char *path2; const char *path2;
int linker; int linker;
{ {
int len1 = strlen (path1); int len1 = strlen (path1);
...@@ -4631,7 +4644,7 @@ main (argc, argv) ...@@ -4631,7 +4644,7 @@ main (argc, argv)
int linker_was_run = 0; int linker_was_run = 0;
char *explicit_link_files; char *explicit_link_files;
char *specs_file; char *specs_file;
char *p; const char *p;
struct user_specs *uptr; struct user_specs *uptr;
p = argv[0] + strlen (argv[0]); p = argv[0] + strlen (argv[0]);
...@@ -4737,7 +4750,7 @@ main (argc, argv) ...@@ -4737,7 +4750,7 @@ main (argc, argv)
for (i = 0; (int)i < n_switches; i++) for (i = 0; (int)i < n_switches; i++)
{ {
char **args; char **args;
char *p, *q; const char *p, *q;
if (!first_time) if (!first_time)
obstack_grow (&collect_obstack, " ", 1); obstack_grow (&collect_obstack, " ", 1);
...@@ -4996,7 +5009,7 @@ main (argc, argv) ...@@ -4996,7 +5009,7 @@ main (argc, argv)
#ifdef LANG_SPECIFIC_DRIVER #ifdef LANG_SPECIFIC_DRIVER
i += lang_specific_extra_outfiles; i += lang_specific_extra_outfiles;
#endif #endif
outfiles = (char **) xmalloc (i * sizeof (char *)); outfiles = (const char **) xmalloc (i * sizeof (char *));
bzero ((char *) outfiles, i * sizeof (char *)); bzero ((char *) outfiles, i * sizeof (char *));
/* Record which files were specified explicitly as link input. */ /* Record which files were specified explicitly as link input. */
...@@ -5028,7 +5041,7 @@ main (argc, argv) ...@@ -5028,7 +5041,7 @@ main (argc, argv)
{ {
/* Ok, we found an applicable compiler. Run its spec. */ /* Ok, we found an applicable compiler. Run its spec. */
/* First say how much of input_filename to substitute for %b */ /* First say how much of input_filename to substitute for %b */
register char *p; register const char *p;
int len; int len;
if (cp->spec[0][0] == '#') if (cp->spec[0][0] == '#')
...@@ -5058,18 +5071,20 @@ main (argc, argv) ...@@ -5058,18 +5071,20 @@ main (argc, argv)
if (cp->spec[j]) if (cp->spec[j])
len += strlen (cp->spec[j]); len += strlen (cp->spec[j]);
p = (char *) xmalloc (len + 1); {
char *p1 = (char *) xmalloc (len + 1);
len = 0; len = 0;
for (j = 0; j < sizeof cp->spec / sizeof cp->spec[0]; j++) for (j = 0; j < sizeof cp->spec / sizeof cp->spec[0]; j++)
if (cp->spec[j]) if (cp->spec[j])
{ {
strcpy (p + len, cp->spec[j]); strcpy (p1 + len, cp->spec[j]);
len += strlen (cp->spec[j]); len += strlen (cp->spec[j]);
} }
value = do_spec (p); value = do_spec (p1);
free (p); free (p1);
}
if (value < 0) if (value < 0)
this_file_error = 1; this_file_error = 1;
} }
...@@ -5163,9 +5178,9 @@ main (argc, argv) ...@@ -5163,9 +5178,9 @@ main (argc, argv)
static struct compiler * static struct compiler *
lookup_compiler (name, length, language) lookup_compiler (name, length, language)
char *name; const char *name;
size_t length; size_t length;
char *language; const char *language;
{ {
struct compiler *cp; struct compiler *cp;
...@@ -5266,7 +5281,7 @@ save_string (s, len) ...@@ -5266,7 +5281,7 @@ save_string (s, len)
static void static void
pfatal_with_name (name) pfatal_with_name (name)
char *name; const char *name;
{ {
perror_with_name (name); perror_with_name (name);
delete_temp_files (); delete_temp_files ();
...@@ -5275,15 +5290,15 @@ pfatal_with_name (name) ...@@ -5275,15 +5290,15 @@ pfatal_with_name (name)
static void static void
perror_with_name (name) perror_with_name (name)
char *name; const char *name;
{ {
error ("%s: %s", name, xstrerror (errno)); error ("%s: %s", name, xstrerror (errno));
} }
static void static void
pfatal_pexecute (errmsg_fmt, errmsg_arg) pfatal_pexecute (errmsg_fmt, errmsg_arg)
char *errmsg_fmt; const char *errmsg_fmt;
char *errmsg_arg; const char *errmsg_arg;
{ {
if (errmsg_arg) if (errmsg_arg)
{ {
...@@ -5312,17 +5327,17 @@ fancy_abort () ...@@ -5312,17 +5327,17 @@ fancy_abort ()
/* Output an error message and exit */ /* Output an error message and exit */
static void static void
fatal VPROTO((char *msgid, ...)) fatal VPROTO((const char *msgid, ...))
{ {
#ifndef ANSI_PROTOTYPES #ifndef ANSI_PROTOTYPES
char *msgid; const char *msgid;
#endif #endif
va_list ap; va_list ap;
VA_START (ap, msgid); VA_START (ap, msgid);
#ifndef ANSI_PROTOTYPES #ifndef ANSI_PROTOTYPES
msgid = va_arg (ap, char *); msgid = va_arg (ap, const char *);
#endif #endif
fprintf (stderr, "%s: ", programname); fprintf (stderr, "%s: ", programname);
...@@ -5334,17 +5349,17 @@ fatal VPROTO((char *msgid, ...)) ...@@ -5334,17 +5349,17 @@ fatal VPROTO((char *msgid, ...))
} }
static void static void
error VPROTO((char *msgid, ...)) error VPROTO((const char *msgid, ...))
{ {
#ifndef ANSI_PROTOTYPES #ifndef ANSI_PROTOTYPES
char *msgid; const char *msgid;
#endif #endif
va_list ap; va_list ap;
VA_START (ap, msgid); VA_START (ap, msgid);
#ifndef ANSI_PROTOTYPES #ifndef ANSI_PROTOTYPES
msgid = va_arg (ap, char *); msgid = va_arg (ap, const char *);
#endif #endif
fprintf (stderr, "%s: ", programname); fprintf (stderr, "%s: ", programname);
...@@ -5355,17 +5370,17 @@ error VPROTO((char *msgid, ...)) ...@@ -5355,17 +5370,17 @@ error VPROTO((char *msgid, ...))
} }
static void static void
notice VPROTO((char *msgid, ...)) notice VPROTO((const char *msgid, ...))
{ {
#ifndef ANSI_PROTOTYPES #ifndef ANSI_PROTOTYPES
char *msgid; const char *msgid;
#endif #endif
va_list ap; va_list ap;
VA_START (ap, msgid); VA_START (ap, msgid);
#ifndef ANSI_PROTOTYPES #ifndef ANSI_PROTOTYPES
msgid = va_arg (ap, char *); msgid = va_arg (ap, const char *);
#endif #endif
vfprintf (stderr, _(msgid), ap); vfprintf (stderr, _(msgid), ap);
...@@ -5377,7 +5392,7 @@ static void ...@@ -5377,7 +5392,7 @@ static void
validate_all_switches () validate_all_switches ()
{ {
struct compiler *comp; struct compiler *comp;
register char *p; register const char *p;
register char c; register char c;
struct spec_list *spec; struct spec_list *spec;
...@@ -5416,10 +5431,10 @@ validate_all_switches () ...@@ -5416,10 +5431,10 @@ validate_all_switches ()
static void static void
validate_switches (start) validate_switches (start)
char *start; const char *start;
{ {
register char *p = start; register const char *p = start;
char *filter; const char *filter;
register int i; register int i;
int suffix = 0; int suffix = 0;
...@@ -5462,7 +5477,7 @@ validate_switches (start) ...@@ -5462,7 +5477,7 @@ validate_switches (start)
static int static int
used_arg (p, len) used_arg (p, len)
char *p; const char *p;
int len; int len;
{ {
struct mswitchstr { struct mswitchstr {
...@@ -5550,7 +5565,7 @@ used_arg (p, len) ...@@ -5550,7 +5565,7 @@ used_arg (p, len)
static int static int
default_arg (p, len) default_arg (p, len)
char *p; const char *p;
int len; int len;
{ {
char *start, *end; char *start, *end;
...@@ -5665,9 +5680,10 @@ set_multilib_dir () ...@@ -5665,9 +5680,10 @@ set_multilib_dir ()
if (this_path_len != 1 if (this_path_len != 1
|| this_path[0] != '.') || this_path[0] != '.')
{ {
multilib_dir = xmalloc (this_path_len + 1); char * new_multilib_dir = xmalloc (this_path_len + 1);
strncpy (multilib_dir, this_path, this_path_len); strncpy (new_multilib_dir, this_path, this_path_len);
multilib_dir[this_path_len] = '\0'; new_multilib_dir[this_path_len] = '\0';
multilib_dir = new_multilib_dir;
} }
break; break;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment