>BTW, you might even use MELT (a high-level domain specific language to extend
>GCC) for that purpose.
> See http://gcc-melt.org/ for more (or ask me).
Since our org is still making use of gcc 4.1.2 - hence the concern.
Please let me know on usgae of MELT.
Thanks but checking for cfun is NULL also does not helps me out I get
the same issue:
/* traverse each basic block and print all statements */
FOR_EACH_BB (bb){ /* in any order */
if(cfun == NULL)
return;
bbcounter++;
printf("\n-> entering bb # %d (internal #: %d)\n", bbcounter, bb->index);
stmtcounter=0;
for(si = bsi_start(bb); !bsi_end_p(si); bsi_next(&si)){
stmtcounter++;
printf(" encountering statement #%2d: ", stmtcounter);
stmt = bsi_stmt(si);
print_generic_stmt (stderr, stmt, 0);
}
}
gcc/gcc-4.1.2/host-x86_64-unknown-linux-gnu/gcc/xgcc
-B/x/home/satprasad/shared_scripts/bin/gcc/gcc-4.1.2/host-x86_64-unknown-linux-gnu/gcc/
-B/usr/local/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/x86_64-unknown-linux-gnu/include -isystem
/usr/local/x86_64-unknown-linux-gnu/sys-include -O2 -O2 -g -O2
-DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC
-g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -msse -c
\
../.././gcc/config/i386/crtfastmath.c \
-o crtfastmath.o
../.././gcc/config/i386/crtfastmath.c:110: internal compiler error:
Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[2]: *** [crtfastmath.o] Error 1
On Mon, Jun 11, 2012 at 4:03 PM, Basile Starynkevitch
<[email protected]> wrote:
> On Mon, Jun 11, 2012 at 03:41:16PM +0530, Satya Prakash Prasad wrote:
>> I am trying to write a new GCC pass in gcc-4.1.2. This is my first
>> attempt and I am trying to print lines of code for a function gcc is
>> compiling. So I added the below code. Note if I remove code in
>> execute_gimple_manipulation method the issue does not occur :
>>
>> gcc/gcc-4.1.2 1223> cat gcc/gimple-manipulation.c
> [...]
>> Any help ? why the issue is occurring and how can I achieve the objective?
>
> GCC 4.1 is a very old version of the compiler [most of us forgot the details
> of it]
> I strongly suggest to upgrade to a recent version (e.g. 4.7 or at least 4.6).
>
> You should test that cfun is non-null.
>
> And recent versions may accept plugins, which is a nice and easy way to
> experiment addition of new passes in GCC.
>
> BTW, you might even use MELT (a high-level domain specific language to extend
> GCC) for that purpose.
> See http://gcc-melt.org/ for more (or ask me).
>
> Cheers.
> --
> Basile STARYNKEVITCH http://starynkevitch.net/Basile/
> email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
> 8, rue de la Faiencerie, 92340 Bourg La Reine, France
> *** opinions {are only mines, sont seulement les miennes} ***