This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Mini-patch for cccp.c
- To: egcs at cygnus dot com
- Subject: Re: Mini-patch for cccp.c
- From: Thomas Koenig <ig25 at mvmap66 dot ciw dot uni-karlsruhe dot de>
- Date: Tue, 30 Sep 1997 16:08:58 +0100 (MET)
- Reply-To: Thomas dot Koenig at ciw dot uni-karlsruhe dot de (Thomas König)
I wrote:
[...]
Playing around with checkergcc some more, I found that
expand_to_temp_buffer didn't initialize some of the members of the
FILE_BUF it returns. Dunno wether this has any grave consequences,
but I think it's a bad idea just on general principles.
Below is a patch against the origninal 970924 cccp.c which fixes this
(it also includes the previous patch).
Tue Sep 30 16:50:55 CEST 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
* cccp.c: (struct file_buf) change system_header_p to int
(expand_to_temp_buffer) initialize all members of obuf
static int last_error_tick; /* Incremented each time we print it. */
--- cccp.c.orig Tue Sep 30 14:43:08 1997
+++ cccp.c Tue Sep 30 16:05:35 1997
@@ -519,7 +519,7 @@
/* Object to be freed at end of input at this level. */
U_CHAR *free_ptr;
/* True if this is a header file included using <FILENAME>. */
- char system_header_p;
+ int system_header_p;
} instack[INPUT_STACK_MAX];
static int last_error_tick; /* Incremented each time we print it. */
@@ -3549,9 +3549,14 @@
obuf.length = length * 2 + 100; /* Usually enough. Why be stingy? */
obuf.bufp = obuf.buf = (U_CHAR *) xmalloc (obuf.length);
+ obuf.nominal_fname = 0;
+ obuf.inc = 0;
+ obuf.dir = 0;
obuf.fname = 0;
obuf.macro = 0;
+ obuf.if_stack = 0;
obuf.free_ptr = 0;
+ obuf.system_header_p = 0;
CHECK_DEPTH ({return obuf;});
--
Thomas Koenig, Thomas.Koenig@ciw.uni-karlsruhe.de, ig25@dkauni2.bitnet.
The joy of engineering is to find a straight line on a double
logarithmic diagram.