public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/49938] New: [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645
@ 2011-08-01 20:56 markus at trippelsdorf dot de
  2011-08-02  3:35 ` [Bug c++/49938] " markus at trippelsdorf dot de
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: markus at trippelsdorf dot de @ 2011-08-01 20:56 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: [4.7 regression] ICE in interpret_loop_phi, at
                    tree-scalar-evolution.c:1645
           Product: gcc
           Version: 4.7.0
               URL:
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: markus@trippelsdorf.de


This ICE happened when building chromium. 
Testcase reduced with multidelta:

 % cat test.cpp
#include <vector>
#include <unistd.h>
typedef unsigned short uint16;

namespace base {
        class StringPiece
        {
                public:    typedef size_t size_type;
                           size_type size() const { return length_; } size_type
length_;
        };
}

namespace net {
        class DNSSECKeySet
        {
                bool CheckSignature (const base::StringPiece& name, const
                                base::StringPiece& zone, const
                                base::StringPiece& signature, uint16 rrtype,
                                const std::vector<base::StringPiece>& rrdatas);
        };
}

template <class C> class scoped_array
        {
        public: typedef C element_type;
        explicit scoped_array(C* p = __null):array_(p) {}
        private:   C* array_;
        };

namespace net {
        bool DNSSECKeySet::CheckSignature (const base::StringPiece& name,
        const base::StringPiece& zone, const base::StringPiece& signature,
        uint16 rrtype, const std::vector<base::StringPiece>& rrdatas)
        {
        unsigned signed_data_len = 0;
        for (std::vector<base::StringPiece>::const_iterator i =
rrdatas.begin();
                        i != rrdatas.end(); i++) {
                signed_data_len += 2;
                signed_data_len += i->size();
        }
        scoped_array<unsigned char> signed_data(new unsigned
char[signed_data_len]);
        }
}

% g++ -O test.cpp
test.cpp: In member function ‘bool net::DNSSECKeySet::CheckSignature(const
base::StringPiece&, const base::StringPiece&, const base::StringPiece&, uint16,
const std::vector<base::StringPiece>&)’:
test.cpp:31:7: internal compiler error: in interpret_loop_phi, at
tree-scalar-evolution.c:1645
Please submit a full bug report,
with preprocessed source if appropriate.


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

* [Bug c++/49938] [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645
  2011-08-01 20:56 [Bug middle-end/49938] New: [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645 markus at trippelsdorf dot de
@ 2011-08-02  3:35 ` markus at trippelsdorf dot de
  2011-08-02  9:47 ` [Bug middle-end/49938] " rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: markus at trippelsdorf dot de @ 2011-08-02  3:35 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <markus at trippelsdorf dot de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org
          Component|middle-end                  |c++

--- Comment #1 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2011-08-02 03:34:30 UTC ---
git bisect points to revision 176072:

3115bda06f241a032e3e5dca50556203a98767a0 is the first bad commit
commit 3115bda06f241a032e3e5dca50556203a98767a0
Author: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Sat Jul 9 03:33:54 2011 +0000

        PR c++/45437
    gcc/
        * gimplify.c (goa_stabilize_expr): Handle RHS preevaluation in
        compound assignment.
    gcc/c-family/
        * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
    gcc/cp/
        * typeck.c (cp_build_modify_expr): Preevaluate RHS.

    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176072
138bc75d-0d04-0410-961f-82ee72b054a4

Reverting the commit above "fixes" the problem.


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

* [Bug middle-end/49938] [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645
  2011-08-01 20:56 [Bug middle-end/49938] New: [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645 markus at trippelsdorf dot de
  2011-08-02  3:35 ` [Bug c++/49938] " markus at trippelsdorf dot de
@ 2011-08-02  9:47 ` rguenth at gcc dot gnu.org
  2011-08-02 14:49 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-08-02  9:47 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011.08.02 09:46:57
                 CC|                            |spop at gcc dot gnu.org
          Component|c++                         |middle-end
   Target Milestone|---                         |4.7.0
     Ever Confirmed|0                           |1

--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-08-02 09:46:57 UTC ---
Confirmed.

#2  0x0000000000ecb2b8 in interpret_loop_phi (loop=0x2aaaad43ca18, 
    loop_phi_node=0x2aaaad44f400)
    at /space/rguenther/src/svn/trunk/gcc/tree-scalar-evolution.c:1645
1645          gcc_assert (TREE_CODE (new_init) != POLYNOMIAL_CHREC);
(gdb) call debug_generic_expr (new_init)
{0, +, 2}_1
(gdb) call debug_generic_expr (res)
(unsigned int) {(size_type) {0, +, 2}_1, +, D.8756_24}_1

I'm not sure why the assert should be valid here.  {0, +, 2}_1 is
unsigned int, folding correctly sees that first widening unsigned int
to sizetype and then truncating back is useless.

What's the problem with dealing with a POLYNOMIAL_CHREC here?  Why
not simply return chrec_dont_know instead of asserting?


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

* [Bug middle-end/49938] [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645
  2011-08-01 20:56 [Bug middle-end/49938] New: [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645 markus at trippelsdorf dot de
  2011-08-02  3:35 ` [Bug c++/49938] " markus at trippelsdorf dot de
  2011-08-02  9:47 ` [Bug middle-end/49938] " rguenth at gcc dot gnu.org
@ 2011-08-02 14:49 ` rguenth at gcc dot gnu.org
  2011-08-02 15:03 ` sebpop at gmail dot com
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-08-02 14:49 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1


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

* [Bug middle-end/49938] [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645
  2011-08-01 20:56 [Bug middle-end/49938] New: [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645 markus at trippelsdorf dot de
                   ` (2 preceding siblings ...)
  2011-08-02 14:49 ` rguenth at gcc dot gnu.org
@ 2011-08-02 15:03 ` sebpop at gmail dot com
  2011-08-03  8:42 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: sebpop at gmail dot com @ 2011-08-02 15:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from sebpop at gmail dot com <sebpop at gmail dot com> 2011-08-02 15:02:30 UTC ---
On Tue, Aug 2, 2011 at 04:49, rguenth at gcc dot gnu.org
<gcc-bugzilla@gcc.gnu.org> wrote:
> What's the problem with dealing with a POLYNOMIAL_CHREC here?  Why
> not simply return chrec_dont_know instead of asserting?

That's a reasonable fix.


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

* [Bug middle-end/49938] [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645
  2011-08-01 20:56 [Bug middle-end/49938] New: [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645 markus at trippelsdorf dot de
                   ` (3 preceding siblings ...)
  2011-08-02 15:03 ` sebpop at gmail dot com
@ 2011-08-03  8:42 ` rguenth at gcc dot gnu.org
  2011-08-03 11:10 ` rguenth at gcc dot gnu.org
  2011-08-03 11:11 ` rguenth at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-08-03  8:42 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-08-03 08:42:25 UTC ---
Mine then.


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

* [Bug middle-end/49938] [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645
  2011-08-01 20:56 [Bug middle-end/49938] New: [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645 markus at trippelsdorf dot de
                   ` (4 preceding siblings ...)
  2011-08-03  8:42 ` rguenth at gcc dot gnu.org
@ 2011-08-03 11:10 ` rguenth at gcc dot gnu.org
  2011-08-03 11:11 ` rguenth at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-08-03 11:10 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-08-03 11:09:39 UTC ---
Author: rguenth
Date: Wed Aug  3 11:09:35 2011
New Revision: 177267

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=177267
Log:
2011-08-03  Richard Guenther  <rguenther@suse.de>

    PR tree-optimization/49938
    * tree-scalar-evolution.c (interpret_loop_phi): Gracefully
    deal with a POLYNOMIAL_CHREC.

    * g++.dg/torture/pr49938.C: New testcase.

Added:
    trunk/gcc/testsuite/g++.dg/torture/pr49938.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-scalar-evolution.c


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

* [Bug middle-end/49938] [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645
  2011-08-01 20:56 [Bug middle-end/49938] New: [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645 markus at trippelsdorf dot de
                   ` (5 preceding siblings ...)
  2011-08-03 11:10 ` rguenth at gcc dot gnu.org
@ 2011-08-03 11:11 ` rguenth at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-08-03 11:11 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #6 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-08-03 11:10:34 UTC ---
Fixed.


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

end of thread, other threads:[~2011-08-03 11:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-01 20:56 [Bug middle-end/49938] New: [4.7 regression] ICE in interpret_loop_phi, at tree-scalar-evolution.c:1645 markus at trippelsdorf dot de
2011-08-02  3:35 ` [Bug c++/49938] " markus at trippelsdorf dot de
2011-08-02  9:47 ` [Bug middle-end/49938] " rguenth at gcc dot gnu.org
2011-08-02 14:49 ` rguenth at gcc dot gnu.org
2011-08-02 15:03 ` sebpop at gmail dot com
2011-08-03  8:42 ` rguenth at gcc dot gnu.org
2011-08-03 11:10 ` rguenth at gcc dot gnu.org
2011-08-03 11:11 ` rguenth at gcc dot gnu.org

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).