problems with writing a new pass

worm book skyhover@hotmail.com
Tue Oct 4 20:17:00 GMT 2005


----- Original Message ----- 
Sent: Monday, October 03, 2005 3:02 AM
Subject: Re: problems with writing a new pass


>> In file included from /usr/include/stdio.h:831,
>>                 from ../../gcc/gcc/tsystem.h:90,
>>                 from ../../gcc/gcc/crtstuff.c:62:
>> /usr/include/bits/stdio.h: In function 'vprintf':
>> /usr/include/bits/stdio.h:37: internal compiler error: 
>> Segmentation fault
>
> You are getting an error *compiling* vprintf, not *using* it.
>
> Paolo
>

Thanks for the remind. After debugging for a while, I think it is 
an error caused by using *and* compiling: I put  my pass as the 
first pass using NEXT_PASS in passes.c and use FOR_EACH_BB and 
etc, which are constructed after the pass of building CFGs. Then, 
during stage2 and 3, the new compiler will incorrectly *use* 
uninitialized data structures to *compile* vprintf and cause 
segfault.

Then my question is: can the pass manager automatically rearrange
the order of passes based on required and provided properties of
all passes? It can help avoid certain misuses, like the one I 
made.

Skyhover



More information about the Gcc mailing list