public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* EH tree is invalid
@ 2009-04-21 14:52 Piotr Wyderski
  2009-04-21 15:41 ` Richard Guenther
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Piotr Wyderski @ 2009-04-21 14:52 UTC (permalink / raw)
  To: gcc

On gcc-trunk my project fails with the following ICE. Whatever it means...

/home/piotr.wyderski/topnotch/vm/test/main.cpp: In function 'int
main(int, char**)':
/home/piotr.wyderski/topnotch/vm/test/main.cpp:32: error: Wrong
prev_try pointer in EH region 123
Eh tree:
   100 catch tree_label:<L141> may_contain_throw prev: 97 type:
     102 must_not_throw tree_label:<L143> may_contain_throw
     101 cleanup tree_label:<L142> may_contain_throw
   97 catch tree_label:<L137> may_contain_throw prev: 94 next 100
type:struct exception
     99 must_not_throw tree_label:<L139> may_contain_throw
     98 cleanup tree_label:<L138> may_contain_throw
   94 catch tree_label:<L134> may_contain_throw next 97 type:struct rc_ptr
     96 must_not_throw tree_label:<L136> may_contain_throw
     95 cleanup tree_label:<L135> may_contain_throw
   1 try may_contain_throw catch regions: 94 97 100
     93 must_not_throw tree_label:<L132> may_contain_throw
     2 cleanup tree_label:<L131> may_contain_throw prev try:1
       92 must_not_throw tree_label:<L129> may_contain_throw
       3 cleanup tree_label:<L128> may_contain_throw prev try:1
         91 must_not_throw tree_label:<L126> may_contain_throw
         4 cleanup tree_label:<L125> may_contain_throw prev try:1
           90 must_not_throw tree_label:<L123> may_contain_throw
           5 cleanup tree_label:<L122> may_contain_throw prev try:1
             89 must_not_throw tree_label:<L120> may_contain_throw
             6 cleanup tree_label:<L119> may_contain_throw prev try:1
               88 must_not_throw tree_label:<L117> may_contain_throw
               7 cleanup tree_label:<L116> may_contain_throw prev try:1
                 87 must_not_throw tree_label:<L114> may_contain_throw
                 8 cleanup tree_label:<L113> may_contain_throw prev try:1
                   86 must_not_throw tree_label:<L111> may_contain_throw
                   9 cleanup tree_label:<L110> may_contain_throw prev try:1
                     85 must_not_throw tree_label:<L108> may_contain_throw
                     10 cleanup tree_label:<L107> may_contain_throw prev try:1
                       84 must_not_throw tree_label:<L105> may_contain_throw
                       11 cleanup tree_label:<L104> may_contain_throw prev try:1
                         83 must_not_throw tree_label:<L102> may_contain_throw
                         34 cleanup tree_label:<L101>
may_contain_throw prev try:1
                           82 must_not_throw tree_label:<L99> may_contain_throw
                           37 cleanup tree_label:<L98>
may_contain_throw prev try:1
                             81 must_not_throw tree_label:<L96>
may_contain_throw
                             40 cleanup tree_label:<L95>
may_contain_throw prev try:1
                               80 must_not_throw tree_label:<L93>
may_contain_throw
                               43 cleanup tree_label:<L92>
may_contain_throw prev try:1
                                 79 must_not_throw tree_label:<L90>
may_contain_throw
                                 46 cleanup tree_label:<L89>
may_contain_throw prev try:1
                                   78 must_not_throw tree_label:<L87>
may_contain_throw
                                   49 cleanup tree_label:<L86>
may_contain_throw prev try:1
                                     77 must_not_throw
tree_label:<L84> may_contain_throw
                                     52 cleanup tree_label:<L83>
may_contain_throw prev try:1
                                       76 must_not_throw
tree_label:<L81> may_contain_throw
                                       55 cleanup tree_label:<L80>
may_contain_throw prev try:1
                                         75 must_not_throw
                                         56 cleanup tree_label:<L78>
may_contain_throw prev try:1
                                           74 must_not_throw
tree_label:<L76> may_contain_throw
                                           57 cleanup tree_label:<L75>
may_contain_throw prev try:1
                                             73 must_not_throw
tree_label:<L73> may_contain_throw
                                             58 cleanup
tree_label:<L72> may_contain_throw prev try:1
                                               72 must_not_throw
tree_label:<L70> may_contain_throw
                                               59 cleanup
tree_label:<L69> may_contain_throw prev try:1
                                                 71 must_not_throw
tree_label:<L67> may_contain_throw
                                                 60 cleanup
tree_label:<L66> may_contain_throw prev try:1
                                                   70 must_not_throw
tree_label:<L64> may_contain_throw
                                                   61 cleanup
tree_label:<L63> may_contain_throw prev try:1
                                                     69 must_not_throw
tree_label:<L61> may_contain_throw
                                                     62 cleanup
tree_label:<L60> may_contain_throw prev try:1
                                                       68
must_not_throw tree_label:<L58> may_contain_throw
                                                       63 cleanup
tree_label:<L57> may_contain_throw prev try:1
                                                         67
must_not_throw tree_label:<L55> may_contain_throw
                                                         64 cleanup
tree_label:<L54> may_contain_throw prev try:1
                                                           66
must_not_throw tree_label:<L52> may_contain_throw
                                                           65 cleanup
tree_label:<L51> may_contain_throw prev try:1
                                       54 must_not_throw
tree_label:<L49> may_contain_throw
                                       53 cleanup tree_label:<L48>
may_contain_throw prev try:1
                                     51 must_not_throw
tree_label:<L46> may_contain_throw
                                     50 cleanup tree_label:<L45>
may_contain_throw prev try:1
                                   48 must_not_throw tree_label:<L43>
may_contain_throw
                                   47 cleanup tree_label:<L42>
may_contain_throw prev try:1
                                 45 must_not_throw tree_label:<L40>
may_contain_throw
                                 44 cleanup tree_label:<L39>
may_contain_throw prev try:1
                               42 must_not_throw
                               41 cleanup tree_label:<L37>
may_contain_throw prev try:1
                             39 must_not_throw
                             38 cleanup tree_label:<L35>
may_contain_throw prev try:1
                           36 must_not_throw
                           35 cleanup tree_label:<L33>
may_contain_throw prev try:1
                         33 must_not_throw tree_label:<L31> may_contain_throw
                         12 cleanup tree_label:<L30> may_contain_throw
prev try:1
                           32 must_not_throw tree_label:<L28> may_contain_throw
                           31 cleanup tree_label:<L27>
may_contain_throw prev try:1
                           30 must_not_throw tree_label:<L25> may_contain_throw
                           13 cleanup tree_label:<L24>
may_contain_throw prev try:1
                             29 must_not_throw tree_label:<L22>
may_contain_throw
                             28 cleanup tree_label:<L21>
may_contain_throw prev try:1
                             27 must_not_throw tree_label:<L19>
may_contain_throw
                             14 cleanup tree_label:<L18>
may_contain_throw prev try:1
                               26 must_not_throw tree_label:<L16>
may_contain_throw
                               25 cleanup tree_label:<L15>
may_contain_throw prev try:1
                               24 must_not_throw tree_label:<L13>
may_contain_throw
                               15 cleanup tree_label:<L12>
may_contain_throw prev try:1
                                 23 must_not_throw tree_label:<L10>
may_contain_throw
                                 22 cleanup tree_label:<L9>
may_contain_throw prev try:1
                                 21 must_not_throw tree_label:<L7>
may_contain_throw
                                 16 cleanup tree_label:<L6>
may_contain_throw prev try:1
                                   20 must_not_throw tree_label:<L4>
may_contain_throw
                                   19 cleanup tree_label:<L3>
may_contain_throw prev try:1
                                   18 must_not_throw tree_label:<L1>
may_contain_throw
                                   17 cleanup tree_label:<L0>
may_contain_throw prev try:1
                   115 must_not_throw tree_label:<D.122931>
may_contain_throw also known as:124, 125, 126, 127, 128
                     123 cleanup tree_label:<D.122937>
may_contain_throw prev try:1
                   118 must_not_throw tree_label:<D.122933> may_contain_throw
                   120 must_not_throw tree_label:<D.122935> may_contain_throw
                   122 must_not_throw tree_label:<D.122928>
may_contain_throw also known as:112, 116
                   111 cleanup tree_label:<D.122927> may_contain_throw
prev try:1
                     113 cleanup tree_label:<D.122929>
may_contain_throw prev try:1
                       114 cleanup tree_label:<D.122930>
may_contain_throw prev try:1
                         117 cleanup tree_label:<D.122932>
may_contain_throw prev try:1
                         119 cleanup tree_label:<D.122934>
may_contain_throw prev try:1
                         121 cleanup tree_label:<D.122936>
may_contain_throw prev try:1
                 110 must_not_throw may_contain_throw also known as:108
                 107 cleanup tree_label:<L149> may_contain_throw prev try:1
                   109 cleanup tree_label:<L148> may_contain_throw prev try:1
               106 must_not_throw may_contain_throw
               105 cleanup tree_label:<L147> may_contain_throw prev try:1
           104 must_not_throw may_contain_throw
           103 cleanup tree_label:<L146> may_contain_throw prev try:1
/home/piotr.wyderski/topnotch/vm/test/main.cpp:32: internal compiler
error: verify_eh_tree failed
Please submit a full bug report,
with preprocessed source if appropriate.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: EH tree is invalid
  2009-04-21 14:52 EH tree is invalid Piotr Wyderski
@ 2009-04-21 15:41 ` Richard Guenther
  2009-04-21 16:16   ` Piotr Wyderski
  2009-04-21 19:30 ` Dave Korn
  2009-04-27 17:42 ` Dave Korn
  2 siblings, 1 reply; 7+ messages in thread
From: Richard Guenther @ 2009-04-21 15:41 UTC (permalink / raw)
  To: Piotr Wyderski; +Cc: gcc

On Tue, Apr 21, 2009 at 3:56 PM, Piotr Wyderski
<piotr.wyderski@gmail.com> wrote:
> On gcc-trunk my project fails with the following ICE. Whatever it means...
>
> /home/piotr.wyderski/topnotch/vm/test/main.cpp: In function 'int
> main(int, char**)':
> /home/piotr.wyderski/topnotch/vm/test/main.cpp:32: error: Wrong
> prev_try pointer in EH region 123
> Eh tree:
>   100 catch tree_label:<L141> may_contain_throw prev: 97 type:
>     102 must_not_throw tree_label:<L143> may_contain_throw
>     101 cleanup tree_label:<L142> may_contain_throw
>   97 catch tree_label:<L137> may_contain_throw prev: 94 next 100
> type:struct exception
>     99 must_not_throw tree_label:<L139> may_contain_throw
>     98 cleanup tree_label:<L138> may_contain_throw
>   94 catch tree_label:<L134> may_contain_throw next 97 type:struct rc_ptr
>     96 must_not_throw tree_label:<L136> may_contain_throw
>     95 cleanup tree_label:<L135> may_contain_throw
>   1 try may_contain_throw catch regions: 94 97 100
>     93 must_not_throw tree_label:<L132> may_contain_throw
>     2 cleanup tree_label:<L131> may_contain_throw prev try:1
>       92 must_not_throw tree_label:<L129> may_contain_throw
>       3 cleanup tree_label:<L128> may_contain_throw prev try:1
>         91 must_not_throw tree_label:<L126> may_contain_throw
>         4 cleanup tree_label:<L125> may_contain_throw prev try:1
>           90 must_not_throw tree_label:<L123> may_contain_throw
>           5 cleanup tree_label:<L122> may_contain_throw prev try:1
>             89 must_not_throw tree_label:<L120> may_contain_throw
>             6 cleanup tree_label:<L119> may_contain_throw prev try:1
>               88 must_not_throw tree_label:<L117> may_contain_throw
>               7 cleanup tree_label:<L116> may_contain_throw prev try:1
>                 87 must_not_throw tree_label:<L114> may_contain_throw
>                 8 cleanup tree_label:<L113> may_contain_throw prev try:1
>                   86 must_not_throw tree_label:<L111> may_contain_throw
>                   9 cleanup tree_label:<L110> may_contain_throw prev try:1
>                     85 must_not_throw tree_label:<L108> may_contain_throw
>                     10 cleanup tree_label:<L107> may_contain_throw prev try:1
>                       84 must_not_throw tree_label:<L105> may_contain_throw
>                       11 cleanup tree_label:<L104> may_contain_throw prev try:1
>                         83 must_not_throw tree_label:<L102> may_contain_throw
>                         34 cleanup tree_label:<L101>
> may_contain_throw prev try:1
>                           82 must_not_throw tree_label:<L99> may_contain_throw
>                           37 cleanup tree_label:<L98>
> may_contain_throw prev try:1
>                             81 must_not_throw tree_label:<L96>
> may_contain_throw
>                             40 cleanup tree_label:<L95>
> may_contain_throw prev try:1
>                               80 must_not_throw tree_label:<L93>
> may_contain_throw
>                               43 cleanup tree_label:<L92>
> may_contain_throw prev try:1
>                                 79 must_not_throw tree_label:<L90>
> may_contain_throw
>                                 46 cleanup tree_label:<L89>
> may_contain_throw prev try:1
>                                   78 must_not_throw tree_label:<L87>
> may_contain_throw
>                                   49 cleanup tree_label:<L86>
> may_contain_throw prev try:1
>                                     77 must_not_throw
> tree_label:<L84> may_contain_throw
>                                     52 cleanup tree_label:<L83>
> may_contain_throw prev try:1
>                                       76 must_not_throw
> tree_label:<L81> may_contain_throw
>                                       55 cleanup tree_label:<L80>
> may_contain_throw prev try:1
>                                         75 must_not_throw
>                                         56 cleanup tree_label:<L78>
> may_contain_throw prev try:1
>                                           74 must_not_throw
> tree_label:<L76> may_contain_throw
>                                           57 cleanup tree_label:<L75>
> may_contain_throw prev try:1
>                                             73 must_not_throw
> tree_label:<L73> may_contain_throw
>                                             58 cleanup
> tree_label:<L72> may_contain_throw prev try:1
>                                               72 must_not_throw
> tree_label:<L70> may_contain_throw
>                                               59 cleanup
> tree_label:<L69> may_contain_throw prev try:1
>                                                 71 must_not_throw
> tree_label:<L67> may_contain_throw
>                                                 60 cleanup
> tree_label:<L66> may_contain_throw prev try:1
>                                                   70 must_not_throw
> tree_label:<L64> may_contain_throw
>                                                   61 cleanup
> tree_label:<L63> may_contain_throw prev try:1
>                                                     69 must_not_throw
> tree_label:<L61> may_contain_throw
>                                                     62 cleanup
> tree_label:<L60> may_contain_throw prev try:1
>                                                       68
> must_not_throw tree_label:<L58> may_contain_throw
>                                                       63 cleanup
> tree_label:<L57> may_contain_throw prev try:1
>                                                         67
> must_not_throw tree_label:<L55> may_contain_throw
>                                                         64 cleanup
> tree_label:<L54> may_contain_throw prev try:1
>                                                           66
> must_not_throw tree_label:<L52> may_contain_throw
>                                                           65 cleanup
> tree_label:<L51> may_contain_throw prev try:1
>                                       54 must_not_throw
> tree_label:<L49> may_contain_throw
>                                       53 cleanup tree_label:<L48>
> may_contain_throw prev try:1
>                                     51 must_not_throw
> tree_label:<L46> may_contain_throw
>                                     50 cleanup tree_label:<L45>
> may_contain_throw prev try:1
>                                   48 must_not_throw tree_label:<L43>
> may_contain_throw
>                                   47 cleanup tree_label:<L42>
> may_contain_throw prev try:1
>                                 45 must_not_throw tree_label:<L40>
> may_contain_throw
>                                 44 cleanup tree_label:<L39>
> may_contain_throw prev try:1
>                               42 must_not_throw
>                               41 cleanup tree_label:<L37>
> may_contain_throw prev try:1
>                             39 must_not_throw
>                             38 cleanup tree_label:<L35>
> may_contain_throw prev try:1
>                           36 must_not_throw
>                           35 cleanup tree_label:<L33>
> may_contain_throw prev try:1
>                         33 must_not_throw tree_label:<L31> may_contain_throw
>                         12 cleanup tree_label:<L30> may_contain_throw
> prev try:1
>                           32 must_not_throw tree_label:<L28> may_contain_throw
>                           31 cleanup tree_label:<L27>
> may_contain_throw prev try:1
>                           30 must_not_throw tree_label:<L25> may_contain_throw
>                           13 cleanup tree_label:<L24>
> may_contain_throw prev try:1
>                             29 must_not_throw tree_label:<L22>
> may_contain_throw
>                             28 cleanup tree_label:<L21>
> may_contain_throw prev try:1
>                             27 must_not_throw tree_label:<L19>
> may_contain_throw
>                             14 cleanup tree_label:<L18>
> may_contain_throw prev try:1
>                               26 must_not_throw tree_label:<L16>
> may_contain_throw
>                               25 cleanup tree_label:<L15>
> may_contain_throw prev try:1
>                               24 must_not_throw tree_label:<L13>
> may_contain_throw
>                               15 cleanup tree_label:<L12>
> may_contain_throw prev try:1
>                                 23 must_not_throw tree_label:<L10>
> may_contain_throw
>                                 22 cleanup tree_label:<L9>
> may_contain_throw prev try:1
>                                 21 must_not_throw tree_label:<L7>
> may_contain_throw
>                                 16 cleanup tree_label:<L6>
> may_contain_throw prev try:1
>                                   20 must_not_throw tree_label:<L4>
> may_contain_throw
>                                   19 cleanup tree_label:<L3>
> may_contain_throw prev try:1
>                                   18 must_not_throw tree_label:<L1>
> may_contain_throw
>                                   17 cleanup tree_label:<L0>
> may_contain_throw prev try:1
>                   115 must_not_throw tree_label:<D.122931>
> may_contain_throw also known as:124, 125, 126, 127, 128
>                     123 cleanup tree_label:<D.122937>
> may_contain_throw prev try:1
>                   118 must_not_throw tree_label:<D.122933> may_contain_throw
>                   120 must_not_throw tree_label:<D.122935> may_contain_throw
>                   122 must_not_throw tree_label:<D.122928>
> may_contain_throw also known as:112, 116
>                   111 cleanup tree_label:<D.122927> may_contain_throw
> prev try:1
>                     113 cleanup tree_label:<D.122929>
> may_contain_throw prev try:1
>                       114 cleanup tree_label:<D.122930>
> may_contain_throw prev try:1
>                         117 cleanup tree_label:<D.122932>
> may_contain_throw prev try:1
>                         119 cleanup tree_label:<D.122934>
> may_contain_throw prev try:1
>                         121 cleanup tree_label:<D.122936>
> may_contain_throw prev try:1
>                 110 must_not_throw may_contain_throw also known as:108
>                 107 cleanup tree_label:<L149> may_contain_throw prev try:1
>                   109 cleanup tree_label:<L148> may_contain_throw prev try:1
>               106 must_not_throw may_contain_throw
>               105 cleanup tree_label:<L147> may_contain_throw prev try:1
>           104 must_not_throw may_contain_throw
>           103 cleanup tree_label:<L146> may_contain_throw prev try:1
> /home/piotr.wyderski/topnotch/vm/test/main.cpp:32: internal compiler
> error: verify_eh_tree failed
> Please submit a full bug report,
> with preprocessed source if appropriate.

Please file a bugreport in bugzilla and attach preprocessed source.

Thanks,
Richard.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: EH tree is invalid
  2009-04-21 15:41 ` Richard Guenther
@ 2009-04-21 16:16   ` Piotr Wyderski
  0 siblings, 0 replies; 7+ messages in thread
From: Piotr Wyderski @ 2009-04-21 16:16 UTC (permalink / raw)
  To: Richard Guenther; +Cc: gcc

Richard Guenther wrote:

> Please file a bugreport in bugzilla and attach preprocessed source.

Impossible, the source code is proprietary. But perhaps
I can try to prepare a simplified testcase though...

Best regards
Piotr Wyderski

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: EH tree is invalid
  2009-04-21 14:52 EH tree is invalid Piotr Wyderski
  2009-04-21 15:41 ` Richard Guenther
@ 2009-04-21 19:30 ` Dave Korn
  2009-04-21 19:49   ` Piotr Wyderski
  2009-04-27 17:42 ` Dave Korn
  2 siblings, 1 reply; 7+ messages in thread
From: Dave Korn @ 2009-04-21 19:30 UTC (permalink / raw)
  To: Piotr Wyderski; +Cc: gcc

Piotr Wyderski wrote:
> On gcc-trunk my project fails with the following ICE. Whatever it means...

  Are you using SJLJ or DW2 exceptions?  If SJLJ, does the patch at

    http://gcc.gnu.org/ml/gcc-patches/2009-04/msg01628.html

help the problem?

    cheers,
      DaveK

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: EH tree is invalid
  2009-04-21 19:30 ` Dave Korn
@ 2009-04-21 19:49   ` Piotr Wyderski
  2009-04-21 21:22     ` Dave Korn
  0 siblings, 1 reply; 7+ messages in thread
From: Piotr Wyderski @ 2009-04-21 19:49 UTC (permalink / raw)
  To: Dave Korn; +Cc: gcc

Dave Korn wrote:

>  Are you using SJLJ or DW2 exceptions?

SJLJ only -- DW2 doesn't work on Windows if the exception
handling scope crosses DLL boundaries.

>  If SJLJ, does the patch at
>
>    http://gcc.gnu.org/ml/gcc-patches/2009-04/msg01628.html
>
> help the problem?

Hm, it seems that rev 146517 does not build on Cygwin,
so I am unable to check it right now. But I'll try the patch
ASAB (as soon as buildable :D)

make[3]: Entering directory `/home/piotr.wyderski/build/gcc-trunk/objdir/gcc'
/home/piotr.wyderski/build/gcc-trunk/objdir/./prev-gcc/xgcc -B/home/piotr.wyders
ki/build/gcc-trunk/objdir/./prev-gcc/ -B/opt/gcc-4.5-trunk/i686-pc-cygwin/bin/ -
c  -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prot
otypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribut
e -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-fno-common  -DHAVE_CONFIG_H -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../in
clude -I../../gcc/../libcpp/include  -I../../gcc/../libdecnumber -I../../gcc/../
libdecnumber/dpd -I../libdecnumber    ../../gcc/sdbout.c -o sdbout.o
cc1: warnings being treated as errors
../../gcc/sdbout.c: In function 'sdbout_symbol':
../../gcc/sdbout.c:773: error: enum conversion when passing argument 2 of 'elimi
nate_regs' is invalid in C++
../../gcc/reload.h:346: note: expected 'enum machine_mode' but argument is of ty
pe 'int'
../../gcc/sdbout.c: In function 'sdbout_parms':
../../gcc/sdbout.c:1274: error: enum conversion when passing argument 2 of 'elim
inate_regs' is invalid in C++
../../gcc/reload.h:346: note: expected 'enum machine_mode' but argument is of ty
pe 'int'

Best regards
Piotr Wyderski

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: EH tree is invalid
  2009-04-21 19:49   ` Piotr Wyderski
@ 2009-04-21 21:22     ` Dave Korn
  0 siblings, 0 replies; 7+ messages in thread
From: Dave Korn @ 2009-04-21 21:22 UTC (permalink / raw)
  To: Piotr Wyderski; +Cc: Dave Korn, gcc

[-- Attachment #1: Type: text/plain, Size: 644 bytes --]

Piotr Wyderski wrote:
> Dave Korn wrote:
> 
>>  Are you using SJLJ or DW2 exceptions?
> 
> SJLJ only -- DW2 doesn't work on Windows if the exception
> handling scope crosses DLL boundaries.

  It does these days as long as you're using shared libraries, but that's a
separate issue.

>>  If SJLJ, does the patch at
>>
>>    http://gcc.gnu.org/ml/gcc-patches/2009-04/msg01628.html
>>
>> help the problem?
> 
> Hm, it seems that rev 146517 does not build on Cygwin,
> so I am unable to check it right now. But I'll try the patch
> ASAB (as soon as buildable :D)

  I just ran into this problem as well, try the attached.

    cheers,
      DaveK

[-- Attachment #2: fix-sdbout.diff --]
[-- Type: text/x-c, Size: 951 bytes --]

Index: gcc/sdbout.c
===================================================================
--- gcc/sdbout.c	(revision 146515)
+++ gcc/sdbout.c	(working copy)
@@ -771,7 +771,7 @@
 	return;
 
       SET_DECL_RTL (decl,
-		    eliminate_regs (DECL_RTL (decl), 0, NULL_RTX));
+		    eliminate_regs (DECL_RTL (decl), VOIDmode, NULL_RTX));
 #ifdef LEAF_REG_REMAP
       if (current_function_uses_only_leaf_regs)
 	leaf_renumber_regs_insn (DECL_RTL (decl));
@@ -1271,9 +1271,9 @@
 	/* Perform any necessary register eliminations on the parameter's rtl,
 	   so that the debugging output will be accurate.  */
 	DECL_INCOMING_RTL (parms)
-	  = eliminate_regs (DECL_INCOMING_RTL (parms), 0, NULL_RTX);
+	  = eliminate_regs (DECL_INCOMING_RTL (parms), VOIDmode, NULL_RTX);
 	SET_DECL_RTL (parms,
-		      eliminate_regs (DECL_RTL (parms), 0, NULL_RTX));
+		      eliminate_regs (DECL_RTL (parms), VOIDmode, NULL_RTX));
 
 	if (PARM_PASSED_IN_MEMORY (parms))
 	  {

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: EH tree is invalid
  2009-04-21 14:52 EH tree is invalid Piotr Wyderski
  2009-04-21 15:41 ` Richard Guenther
  2009-04-21 19:30 ` Dave Korn
@ 2009-04-27 17:42 ` Dave Korn
  2 siblings, 0 replies; 7+ messages in thread
From: Dave Korn @ 2009-04-27 17:42 UTC (permalink / raw)
  To: Piotr Wyderski; +Cc: gcc

Piotr Wyderski wrote:
> On gcc-trunk my project fails with the following ICE. Whatever it means...
> 
> /home/piotr.wyderski/topnotch/vm/test/main.cpp: In function 'int
> main(int, char**)':
> /home/piotr.wyderski/topnotch/vm/test/main.cpp:32: error: Wrong
> prev_try pointer in EH region 123

    Hi Piotr,

  Any problem you still have with prev_try pointers is likely to be related to
this thread:

  http://gcc.gnu.org/ml/gcc-patches/2009-04/threads.html#02018

... you might like to try the patch suggested toward the end of the thread:

  http://gcc.gnu.org/ml/gcc-patches/2009-04/msg02111.html

    cheers,
      DaveK

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-04-27 14:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-21 14:52 EH tree is invalid Piotr Wyderski
2009-04-21 15:41 ` Richard Guenther
2009-04-21 16:16   ` Piotr Wyderski
2009-04-21 19:30 ` Dave Korn
2009-04-21 19:49   ` Piotr Wyderski
2009-04-21 21:22     ` Dave Korn
2009-04-27 17:42 ` Dave Korn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).