diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 298c554a329..295cab604f3 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,12 @@ +2009-04-24 Richard Kenner + Thomas Quinot + + * fe.h (Set_Identifier_Casing): Add const to second parameter. + * gcc-interface/misc.c (internal_error_function): Make copy of retur + from pp_formatted_text before assigning BUFFER to it. + (gnat_init): Likewise for main_input_filename and gnat_argv. + (gnat_printable_name): Remove cast from call to Set_Identifier_Casing. + 2009-04-24 Eric Botcazou * ttypes.ads (Target_Double_Float_Alignment): New variable. diff --git a/gcc/ada/fe.h b/gcc/ada/fe.h index 6141552c4c0..bd55cbe1f2b 100644 --- a/gcc/ada/fe.h +++ b/gcc/ada/fe.h @@ -84,7 +84,7 @@ extern Node_Id Get_Attribute_Definition_Clause (Entity_Id, char); extern void Error_Msg_N (Fat_Pointer, Node_Id); extern void Error_Msg_NE (Fat_Pointer, Node_Id, Entity_Id); -extern void Set_Identifier_Casing (Char *, Char *); +extern void Set_Identifier_Casing (Char *, const Char *); /* err_vars: */ diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index b67b8455de2..9d652492ec1 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -355,7 +355,7 @@ internal_error_function (const char *msgid, va_list *ap) pp_format_verbatim (global_dc->printer, &tinfo); /* Extract a (writable) pointer to the formatted text. */ - buffer = (char*) pp_formatted_text (global_dc->printer); + buffer = xstrdup (pp_formatted_text (global_dc->printer)); /* Go up to the first newline. */ for (p = buffer; *p; p++) @@ -394,9 +394,12 @@ gnat_init (void) gnat_init_decl_processing (); /* Add the input filename as the last argument. */ - gnat_argv[gnat_argc] = (char *) main_input_filename; - gnat_argc++; - gnat_argv[gnat_argc] = 0; + if (main_input_filename) + { + gnat_argv[gnat_argc] = xstrdup (main_input_filename); + gnat_argc++; + gnat_argv[gnat_argc] = NULL; + } global_dc->internal_error = &internal_error_function; @@ -547,7 +550,7 @@ gnat_printable_name (tree decl, int verbosity) if (verbosity == 2 && !DECL_IS_BUILTIN (decl)) { - Set_Identifier_Casing (ada_name, (char *) DECL_SOURCE_FILE (decl)); + Set_Identifier_Casing (ada_name, DECL_SOURCE_FILE (decl)); return ggc_strdup (Name_Buffer); }