cppinit.c (cpp_cleanup): NULLify macro_buffer and zero macro_buffer_len.
authorAlexandre Oliva <aoliva@redhat.com>
Tue, 9 Jan 2001 09:30:43 +0000 (09:30 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Tue, 9 Jan 2001 09:30:43 +0000 (09:30 +0000)
* cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
macro_buffer_len.
* cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
realloc()ing macro_buffer.

From-SVN: r38821

gcc/ChangeLog
gcc/cppinit.c
gcc/cppmacro.c

index 81bb3f80b171851cb732b3f768bd0ea845775a5a..5bc2e8a1b2f5efa325de656a723850a78850b74e 100644 (file)
@@ -1,5 +1,10 @@
 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
 
+       * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
+       macro_buffer_len.
+       * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
+       realloc()ing macro_buffer.
+
        * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
        if it's wider than long and the target's long is wider than the
        host's.
index 12844d9ac9122904c1d118e2034c52d6b4363bf3..44e10c830b69c7c136d53393d6c650751c6df622 100644 (file)
@@ -570,7 +570,11 @@ cpp_cleanup (pfile)
     cpp_pop_buffer (pfile);
 
   if (pfile->macro_buffer)
-    free ((PTR) pfile->macro_buffer);
+    {
+      free ((PTR) pfile->macro_buffer);
+      pfile->macro_buffer = NULL;
+      pfile->macro_buffer_len = 0;
+    }
 
   deps_free (pfile->deps);
 
index 8af9fab52ff3e11623e7117a7a14ad81e209dddd..1539552076bea82e041656980864e4546259cbf0 100644 (file)
@@ -1,6 +1,6 @@
 /* Part of CPP library.  (Macro and #define handling.)
    Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
-   1999, 2000 Free Software Foundation, Inc.
+   1999, 2000, 2001 Free Software Foundation, Inc.
    Written by Per Bothner, 1994.
    Based on CCCP program by Paul Rubin, June 1986
    Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -1568,7 +1568,10 @@ cpp_macro_definition (pfile, node)
     }
 
   if (len > pfile->macro_buffer_len)
-    pfile->macro_buffer = (U_CHAR *) xrealloc (pfile->macro_buffer, len);
+    {
+      pfile->macro_buffer = (U_CHAR *) xrealloc (pfile->macro_buffer, len);
+      pfile->macro_buffer_len = len;
+    }
   buffer = pfile->macro_buffer;
 
   /* Parameter names.  */