diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 67300939fe0..5e9f8b719b1 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2008-11-06 Eric Botcazou + + * gcc-interface/misc.c (gnat_printable_name): Always return a copy + in GC memory. + 2008-11-06 Eric Botcazou PR ada/19419 diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 7c7dc02f36f..3026e9057b9 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -603,10 +603,10 @@ gnat_printable_name (tree decl, int verbosity) if (verbosity == 2) { Set_Identifier_Casing (ada_name, (char *) DECL_SOURCE_FILE (decl)); - ada_name = Name_Buffer; + return ggc_strdup (Name_Buffer); } - - return (const char *) ada_name; + else + return ada_name; } /* Expands GNAT-specific GCC tree nodes. The only ones we support