[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2009-01-22 Thread bonzini at gnu dot org
--- Comment #26 from bonzini at gnu dot org 2009-01-22 08:08 --- This is a separate bug. The reduced testcase does not have a single or || so it probably existed also before my patch. It is now bug 38932. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38572

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2009-01-21 Thread regehr at cs dot utah dot edu
--- Comment #25 from regehr at cs dot utah dot edu 2009-01-22 05:06 --- I get this using r143561 on Ubuntu Hardy on x86: reg...@john-home:~/volatile/tmp126$ current-gcc -O3 -c small.c small.c: In function ‘bar’: small.c:22: internal compiler error: in set_value_range, at

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-30 Thread bonzini at gcc dot gnu dot org
--- Comment #22 from bonzini at gnu dot org 2008-12-30 10:38 --- Subject: Bug 38572 Author: bonzini Date: Tue Dec 30 10:36:39 2008 New Revision: 142962 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142962 Log: 2008-12-30 Paolo Bonzini bonz...@gnu.org PR

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-30 Thread bonzini at gnu dot org
--- Comment #23 from bonzini at gnu dot org 2008-12-30 10:38 --- Fixed. However, you should check if the code is valid C++ at all, because out-of-range enum values are handled differently in C and C++ (the bug stemmed from the fact that op was set to a value that is beyond what the C++

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-30 Thread bonzini at gnu dot org
--- Comment #24 from bonzini at gnu dot org 2008-12-30 10:39 --- patch committed -- bug may be latent on 4.3, but there is no known testcase. -- bonzini at gnu dot org changed: What|Removed |Added

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-22 Thread bonzini at gnu dot org
--- Comment #19 from bonzini at gnu dot org 2008-12-22 08:52 --- Smaller testcase, without uninitialized variables too: enum JSOp { JSOP_GETELEM = 5, JSOP_LIMIT }; extern void g (); void f (char *pc, char *endpc, int format, char ***fp, enum JSOp op) { while (pc = endpc) {

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-22 Thread bonzini at gnu dot org
--- Comment #20 from bonzini at gnu dot org 2008-12-22 09:05 --- This is a latent bug in the handling of out-of-bounds values. It happens because a value changes from [256, 256] to [256, 257]. VRP then forces the upper bound to the max-value of the type, generating the invalid range

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-22 Thread bonzini at gnu dot org
--- Comment #21 from bonzini at gnu dot org 2008-12-22 09:30 --- Created an attachment (id=16961) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16961action=view) patch being tested Testing a patch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38572

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread bero at arklinux dot org
--- Comment #1 from bero at arklinux dot org 2008-12-18 19:26 --- Created an attachment (id=16937) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16937action=view) gzipped preprocessed source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38572

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com
--- Comment #2 from hjl dot tools at gmail dot com 2008-12-18 19:45 --- Works for me as of revision 142793. -- hjl dot tools at gmail dot com changed: What|Removed |Added

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com
--- Comment #3 from hjl dot tools at gmail dot com 2008-12-18 19:48 --- I don't see any changes between revision 142782 and revision 142793 which may impact this. How is your gcc configured? -- hjl dot tools at gmail dot com changed: What|Removed

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread bero at arklinux dot org
--- Comment #4 from bero at arklinux dot org 2008-12-18 20:08 --- Sorry, I misread the error message - I saw the warnings about jsparse.cpp, but the actual ice occurs in jsopcode.cpp -- bero at arklinux dot org changed: What|Removed |Added

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread bero at arklinux dot org
--- Comment #5 from bero at arklinux dot org 2008-12-18 20:10 --- Created an attachment (id=16938) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16938action=view) gzipped preprocessed source of file actually causing the problem Attaching correct preprocessed source # g++ -o

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org
--- Comment #6 from pinskia at gcc dot gnu dot org 2008-12-18 20:18 --- Reducing ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38572

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com
--- Comment #7 from hjl dot tools at gmail dot com 2008-12-18 20:20 --- (In reply to comment #5) Created an attachment (id=16938) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16938action=view) [edit] gzipped preprocessed source of file actually causing the problem Attaching

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org
--- Comment #8 from pinskia at gcc dot gnu dot org 2008-12-18 20:23 --- (In reply to comment #7) gcc version 4.4.0 20081217 (experimental) [trunk revision 142793] (GCC) It ICEs for me with gcc version 4.4.0 20081216 (experimental) [trunk revision 142782] (GCC) on i386-darwin8.11.

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org
--- Comment #9 from pinskia at gcc dot gnu dot org 2008-12-18 20:24 --- (In reply to comment #8) (In reply to comment #7) gcc version 4.4.0 20081217 (experimental) [trunk revision 142793] (GCC) It ICEs for me with gcc version 4.4.0 20081216 (experimental) [trunk revision 142782]

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org
--- Comment #11 from pinskia at gcc dot gnu dot org 2008-12-18 23:20 --- Reduced testcase: enum JSOp { JSOP_GETELEM = 5, JSOP_LIMIT } ; typedef struct JSFrameRegs { unsigned char *pc; } JSFrameRegs; struct JSStackFrame { JSFrameRegs *regs; }; int f( unsigned char *pc, enum

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com
--- Comment #10 from hjl dot tools at gmail dot com 2008-12-18 23:20 --- It is caused by revision 140288: http://gcc.gnu.org/ml/gcc-cvs/2008-09/msg00447.html If gcc is configured with --enable-checking=assert, you won't see the bug. -- hjl dot tools at gmail dot com changed:

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org
--- Comment #12 from pinskia at gcc dot gnu dot org 2008-12-18 23:21 --- (In reply to comment #10) If gcc is configured with --enable-checking=assert, you won't see the bug. Well that is called real checking code :). -- pinskia at gcc dot gnu dot org changed: What

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com
--- Comment #13 from hjl dot tools at gmail dot com 2008-12-18 23:26 --- Testcase in comment 11 also fails on Linux/x86-64. -- hjl dot tools at gmail dot com changed: What|Removed |Added

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com
--- Comment #14 from hjl dot tools at gmail dot com 2008-12-18 23:28 --- (In reply to comment #12) (In reply to comment #10) If gcc is configured with --enable-checking=assert, you won't see the bug. Well that is called real checking code :). There are 397 cmp =

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org
--- Comment #15 from pinskia at gcc dot gnu dot org 2008-12-19 01:19 --- (In reply to comment #14) Doesn't --enable-checking=assert turn on gcc_assert? Yes but not when that code is wrapped with: #if defined ENABLE_CHECKING :) --

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread hjl dot tools at gmail dot com
--- Comment #16 from hjl dot tools at gmail dot com 2008-12-19 01:40 --- C compiler doesn't crash: (gdb) f 0 #0 set_value_range (vr=0x15e7bf40, t=VR_RANGE, min=0x2af40ef86fc0, max=0x2af40ef86fc0, equiv=0x0) at ../../src/gcc/tree-vrp.c:398 398 gcc_assert (cmp == 0 ||

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread pinskia at gcc dot gnu dot org
--- Comment #17 from pinskia at gcc dot gnu dot org 2008-12-19 01:49 --- (In reply to comment #16) Enum looks different in C++. Yes they are different because of the way C++ talks about out of range values and such. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38572

[Bug middle-end/38572] [4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

2008-12-18 Thread bonzini at gnu dot org
--- Comment #18 from bonzini at gnu dot org 2008-12-19 06:05 --- mine. -- bonzini at gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot