------- Comment #3 from rguenth at gcc dot gnu dot org  2009-06-17 12:51 -------
C frontend issue.

The gimplfier is fed (*fp)(0) with fp of type void (*) (const int) but then,
after gimplifying foo we do patch fps type to void (*) (int):

Hardware watchpoint 4: *$2

Old value = (tree) 0xb7d4e230
New value = (tree) 0xb7d4e310
0x080c80c6 in pop_scope () at /home/richard/src/trunk/gcc/c-decl.c:1225
1225                    TREE_TYPE (b->shadowed->decl) = b->shadowed->u.type;
(gdb) bt
#0  0x080c80c6 in pop_scope () at /home/richard/src/trunk/gcc/c-decl.c:1225
#1  0x080c8501 in pop_file_scope ()
    at /home/richard/src/trunk/gcc/c-decl.c:1306
#2  0x08166df6 in c_common_parse_file (set_yydebug=0)
    at /home/richard/src/trunk/gcc/c-opts.c:1281
#3  0x08599792 in compile_file () at /home/richard/src/trunk/gcc/toplev.c:1025
#4  0x0859b61f in do_compile () at /home/richard/src/trunk/gcc/toplev.c:2345
#5  0x0859b6f8 in toplev_main (argc=3, argv=0xbffff534)
    at /home/richard/src/trunk/gcc/toplev.c:2390
#6  0x0819d96a in main (argc=153092128, argv=0x0)
    at /home/richard/src/trunk/gcc/main.c:35

that's not going to fly.

Maybe fixed with gimplification unit-at-a-time.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|rguenth at gcc dot gnu dot  |unassigned at gcc dot gnu
                   |org                         |dot org
             Status|ASSIGNED                    |NEW
          Component|middle-end                  |c


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40401

Reply via email to