Commit 2334baf4 by Eric Botcazou Committed by Eric Botcazou

misc.c (gnat_handle_option): Do not populate gnat_argv.

	* gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
	(gnat_handle_option): Allocate only one element for gnat_argv.
	(gnat_init): Do not populate gnat_argv.

From-SVN: r161704
parent 1a4fc49d
2010-07-02 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
(gnat_handle_option): Allocate only one element for gnat_argv.
(gnat_init): Do not populate gnat_argv.
2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org> 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
* gcc-interface/trans.c: Do not include tree-flow.h. * gcc-interface/trans.c: Do not include tree-flow.h.
......
...@@ -191,7 +191,6 @@ gnat_handle_option (size_t scode, const char *arg, int value, ...@@ -191,7 +191,6 @@ gnat_handle_option (size_t scode, const char *arg, int value,
{ {
const struct cl_option *option = &cl_options[scode]; const struct cl_option *option = &cl_options[scode];
enum opt_code code = (enum opt_code) scode; enum opt_code code = (enum opt_code) scode;
char *q;
if (arg == NULL && (option->flags & (CL_JOINED | CL_SEPARATE))) if (arg == NULL && (option->flags & (CL_JOINED | CL_SEPARATE)))
{ {
...@@ -201,20 +200,11 @@ gnat_handle_option (size_t scode, const char *arg, int value, ...@@ -201,20 +200,11 @@ gnat_handle_option (size_t scode, const char *arg, int value,
switch (code) switch (code)
{ {
case OPT_I:
q = XNEWVEC (char, sizeof("-I") + strlen (arg));
strcpy (q, "-I");
strcat (q, arg);
gnat_argv[gnat_argc] = q;
gnat_argc++;
break;
case OPT_Wall: case OPT_Wall:
warn_unused = value; warn_unused = value;
warn_uninitialized = value; warn_uninitialized = value;
break; break;
/* These are used in the GCC Makefile. */
case OPT_Wmissing_prototypes: case OPT_Wmissing_prototypes:
case OPT_Wstrict_prototypes: case OPT_Wstrict_prototypes:
case OPT_Wwrite_strings: case OPT_Wwrite_strings:
...@@ -223,15 +213,7 @@ gnat_handle_option (size_t scode, const char *arg, int value, ...@@ -223,15 +213,7 @@ gnat_handle_option (size_t scode, const char *arg, int value,
case OPT_Wold_style_definition: case OPT_Wold_style_definition:
case OPT_Wmissing_format_attribute: case OPT_Wmissing_format_attribute:
case OPT_Woverlength_strings: case OPT_Woverlength_strings:
break; /* These are used in the GCC Makefile. */
/* This is handled by the front-end. */
case OPT_nostdinc:
break;
case OPT_nostdlib:
gnat_argv[gnat_argc] = xstrdup ("-nostdlib");
gnat_argc++;
break; break;
case OPT_feliminate_unused_debug_types: case OPT_feliminate_unused_debug_types:
...@@ -242,9 +224,8 @@ gnat_handle_option (size_t scode, const char *arg, int value, ...@@ -242,9 +224,8 @@ gnat_handle_option (size_t scode, const char *arg, int value,
flag_eliminate_unused_debug_types = -value; flag_eliminate_unused_debug_types = -value;
break; break;
case OPT_fRTS_: case OPT_gdwarfplus:
gnat_argv[gnat_argc] = xstrdup ("-fRTS"); gnat_dwarf_extensions = 1;
gnat_argc++;
break; break;
case OPT_gant: case OPT_gant:
...@@ -253,22 +234,12 @@ gnat_handle_option (size_t scode, const char *arg, int value, ...@@ -253,22 +234,12 @@ gnat_handle_option (size_t scode, const char *arg, int value,
/* ... fall through ... */ /* ... fall through ... */
case OPT_gnat: case OPT_gnat:
/* Recopy the switches without the 'gnat' prefix. */
gnat_argv[gnat_argc] = XNEWVEC (char, strlen (arg) + 2);
gnat_argv[gnat_argc][0] = '-';
strcpy (gnat_argv[gnat_argc] + 1, arg);
gnat_argc++;
break;
case OPT_gnatO: case OPT_gnatO:
gnat_argv[gnat_argc] = xstrdup ("-O"); case OPT_fRTS_:
gnat_argc++; case OPT_I:
gnat_argv[gnat_argc] = xstrdup (arg); case OPT_nostdinc:
gnat_argc++; case OPT_nostdlib:
break; /* These are handled by the front-end. */
case OPT_gdwarfplus:
gnat_dwarf_extensions = 1;
break; break;
default: default:
...@@ -283,8 +254,7 @@ gnat_handle_option (size_t scode, const char *arg, int value, ...@@ -283,8 +254,7 @@ gnat_handle_option (size_t scode, const char *arg, int value,
static unsigned int static unsigned int
gnat_init_options (unsigned int argc, const char **argv) gnat_init_options (unsigned int argc, const char **argv)
{ {
/* Initialize gnat_argv with save_argv size. */ gnat_argv = (char **) xmalloc (sizeof (argv[0]));
gnat_argv = (char **) xmalloc ((argc + 1) * sizeof (argv[0]));
gnat_argv[0] = xstrdup (argv[0]); /* name of the command */ gnat_argv[0] = xstrdup (argv[0]); /* name of the command */
gnat_argc = 1; gnat_argc = 1;
...@@ -423,14 +393,6 @@ gnat_init (void) ...@@ -423,14 +393,6 @@ gnat_init (void)
/* Show that REFERENCE_TYPEs are internal and should be Pmode. */ /* Show that REFERENCE_TYPEs are internal and should be Pmode. */
internal_reference_types (); internal_reference_types ();
/* Add the input filename as the last argument. */
if (main_input_filename)
{
gnat_argv[gnat_argc] = xstrdup (main_input_filename);
gnat_argc++;
gnat_argv[gnat_argc] = NULL;
}
/* Register our internal error function. */ /* Register our internal error function. */
global_dc->internal_error = &internal_error_function; global_dc->internal_error = &internal_error_function;
......
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