------- Comment #2 from pinskia at gcc dot gnu dot org 2008-12-26 22:29 ------- Happens with both the C and C++ front-ends. Backtrace: #2 0x00566f2e in replace_by_duplicate_decl (tp=0xbffff43c, vars_map=0x43902ae0, to_context=0x42f76100) at /Users/apinski/src/local/gcc/gcc/tree-cfg.c:5412 #3 0x00568ab2 in replace_block_vars_by_duplicates (block=0x42f79a40, vars_map=0x43902ae0, to_context=0x42f76100) at /Users/apinski/src/local/gcc/gcc/tree-cfg.c:5838 #4 0x00568d27 in replace_block_vars_by_duplicates (block=0x42f79a40, vars_map=0x43902ae0, to_context=0x42f76100) at /Users/apinski/src/local/gcc/gcc/tree-cfg.c:5852 #5 0x0056985d in move_sese_region_to_fn (dest_cfun=0x42ed0d20, entry_bb=0x42f79f80, exit_bb=0x42f79e40, orig_block=0x42f79a80) at /Users/apinski/src/local/gcc/gcc/tree-cfg.c:6019 #6 0x0040361f in expand_omp_taskreg (region=0x439010c0) at /Users/apinski/src/local/gcc/gcc/omp-low.c:3404 #7 0x0040d207 in expand_omp (region=0x439010c0) at /Users/apinski/src/local/gcc/gcc/omp-low.c:5201 #8 0x0040d720 in execute_expand_omp () at /Users/apinski/src/local/gcc/gcc/omp-low.c:5373 #9 0x0043a827 in execute_one_pass (pass=0xd0afc0) at /Users/apinski/src/local/gcc/gcc/passes.c:1279
--- CUT --- (gdb) p debug_tree (t) <type_decl 0x42f75380 D.1571 type <record_type 0x42f75310 A VOID align 8 symtab 0 alias set -1 canonical type 0x42f75310 context <block 0x42f79a40> chain <type_decl 0x42f75380 D.1571>> VOID file t.cc line 5 col 12 align 1 context <function_decl 0x42f76080 foo>> --- CUT --- I think we should ignore TYPE_DECLs if it is not a variable length based type. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38633