This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: preprocessor/6084: cpp Segmentation Fault


Gerwin, Joshua A wrote:-

> OK, here's my theory as to why I think you aren't seeing it in
> maybe_print_line.  Often when we compile, we use an optimizing flag (admit
> it, you do this sometimes too!) and in this case the optimizer dropped the
> jump to the separate print_line function and put the fprintf directly in
> maybe_print_line.  So in cppmain.c (line 329 by my reckoning), effectively
> substitute 
> 
>     else
>     {
>       print.lineno = line;
>       print_line ("");
>     }
> 
> with 
> 
>     else
>     {
>       print.lineno = line;
>       if (print.printed) putc ('\n', print.outf);
>       print.printed = 0;
>       fprintf (print.outf, "# %u \"%s\"%s%s\n",
>            print.lineno, print.last_fname, "", print.syshdr_flags);
>     }
>  
> This saves a subroutine call.

OK.  Why can't you give me more info?  Like the variables in question;
clearly one is NULL?  Maybe investigate why it is NULL in this case
and not when you switch command line args?  It would save us both a lot
of time.

Neil.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]