OSDN Git Service

* lex.c (handle_pragma_interface): Don't copy the filename.
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Mar 2008 18:53:34 +0000 (18:53 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Mar 2008 18:53:34 +0000 (18:53 +0000)
(handle_pragma_implementation): Copy filename using xstrdup.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133487 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/lex.c

index eaaddc8..ce147f7 100644 (file)
@@ -1,3 +1,8 @@
+2008-03-24  Tom Tromey  <tromey@redhat.com>
+
+       * lex.c (handle_pragma_interface): Don't copy the filename.
+       (handle_pragma_implementation): Copy filename using xstrdup.
+
 2008-03-21  Paolo Carlini  <pcarlini@suse.de>
 
        * cp-tree.h (IS_AGGR_TYPE): Rename to MAYBE_CLASS_TYPE_P.
 2008-03-21  Paolo Carlini  <pcarlini@suse.de>
 
        * cp-tree.h (IS_AGGR_TYPE): Rename to MAYBE_CLASS_TYPE_P.
index adf793b..4552305 100644 (file)
@@ -518,7 +518,7 @@ handle_pragma_interface (cpp_reader* dfile ATTRIBUTE_UNUSED )
   else if (fname == 0)
     filename = lbasename (input_filename);
   else
   else if (fname == 0)
     filename = lbasename (input_filename);
   else
-    filename = ggc_strdup (TREE_STRING_POINTER (fname));
+    filename = TREE_STRING_POINTER (fname);
 
   finfo = get_fileinfo (input_filename);
 
 
   finfo = get_fileinfo (input_filename);
 
@@ -566,7 +566,7 @@ handle_pragma_implementation (cpp_reader* dfile ATTRIBUTE_UNUSED )
     }
   else
     {
     }
   else
     {
-      filename = ggc_strdup (TREE_STRING_POINTER (fname));
+      filename = TREE_STRING_POINTER (fname);
       if (cpp_included_before (parse_in, filename, input_location))
        warning (0, "#pragma implementation for %qs appears after "
                 "file is included", filename);
       if (cpp_included_before (parse_in, filename, input_location))
        warning (0, "#pragma implementation for %qs appears after "
                 "file is included", filename);
@@ -580,7 +580,7 @@ handle_pragma_implementation (cpp_reader* dfile ATTRIBUTE_UNUSED )
   if (ifiles == 0)
     {
       ifiles = XNEW (struct impl_files);
   if (ifiles == 0)
     {
       ifiles = XNEW (struct impl_files);
-      ifiles->filename = filename;
+      ifiles->filename = xstrdup (filename);
       ifiles->next = impl_file_chain;
       impl_file_chain = ifiles;
     }
       ifiles->next = impl_file_chain;
       impl_file_chain = ifiles;
     }