public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug go/61866] New: FAIL: ./index0-out.go execution,  -O0 -g -fno-var-tracking-assignments
@ 2014-07-21  9:23 ubizjak at gmail dot com
  2014-08-05  2:58 ` [Bug go/61866] " ian at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: ubizjak at gmail dot com @ 2014-07-21  9:23 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61866

            Bug ID: 61866
           Summary: FAIL: ./index0-out.go execution,  -O0 -g
                    -fno-var-tracking-assignments
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: go
          Assignee: ian at airs dot com
          Reporter: ubizjak at gmail dot com
                CC: cmang at google dot com

index0-out.go fails execution with -O0 -g -fno-var-tracking-assignments on
32bit x86 target (Fedora 20) with:

BUG
./index0-out.go:113: ai[i64bigger] did not panic
./index0-out.go:113: ai[i64bigger:] did not panic
./index0-out.go:113: ai[ni64bigger] did not panic
./index0-out.go:113: ai[ni64bigger:] did not panic
./index0-out.go:113: ai[nhuge] did not panic
./index0-out.go:113: ai[nhuge:] did not panic
./index0-out.go:113: aib[i64bigger] did not panic
./index0-out.go:113: aib[i64bigger:] did not panic
./index0-out.go:113: aib[ni64bigger] did not panic
./index0-out.go:113: aib[ni64bigger:] did not panic
./index0-out.go:113: aib[nhuge] did not panic
./index0-out.go:113: aib[nhuge:] did not panic
./index0-out.go:113: aq[i64bigger] did not panic
./index0-out.go:113: aq[i64bigger:] did not panic
./index0-out.go:113: aq[ni64bigger] did not panic
./index0-out.go:113: aq[ni64bigger:] did not panic
./index0-out.go:113: aq[nhuge] did not panic
./index0-out.go:113: aq[nhuge:] did not panic
./index0-out.go:113: aqb[i64bigger] did not panic
./index0-out.go:113: aqb[i64bigger:] did not panic
./index0-out.go:113: aqb[ni64bigger] did not panic
./index0-out.go:113: aqb[ni64bigger:] did not panic
./index0-out.go:113: aqb[nhuge] did not panic
./index0-out.go:113: aqb[nhuge:] did not panic
./index0-out.go:113: pai[i64bigger] did not panic
./index0-out.go:113: pai[i64bigger:] did not panic
./index0-out.go:113: pai[ni64bigger] did not panic
./index0-out.go:113: pai[ni64bigger:] did not panic
./index0-out.go:113: pai[nhuge] did not panic
./index0-out.go:113: pai[nhuge:] did not panic
./index0-out.go:113: paib[i64bigger] did not panic
./index0-out.go:113: paib[i64bigger:] did not panic
./index0-out.go:113: paib[ni64bigger] did not panic
./index0-out.go:113: paib[ni64bigger:] did not panic
./index0-out.go:113: paib[nhuge] did not panic
./index0-out.go:113: paib[nhuge:] did not panic
./index0-out.go:113: paq[i64bigger] did not panic
./index0-out.go:113: paq[i64bigger:] did not panic
./index0-out.go:113: paq[ni64bigger] did not panic
./index0-out.go:113: paq[ni64bigger:] did not panic
./index0-out.go:113: paq[nhuge] did not panic
./index0-out.go:113: paq[nhuge:] did not panic
./index0-out.go:113: paqb[i64bigger] did not panic
./index0-out.go:113: paqb[i64bigger:] did not panic
./index0-out.go:113: paqb[ni64bigger] did not panic
./index0-out.go:113: paqb[ni64bigger:] did not panic
./index0-out.go:113: paqb[nhuge] did not panic
./index0-out.go:113: paqb[nhuge:] did not panic
./index0-out.go:113: si[i64bigger] did not panic
./index0-out.go:113: si[i64bigger:] did not panic
./index0-out.go:113: si[ni64bigger] did not panic
./index0-out.go:113: si[ni64bigger:] did not panic
./index0-out.go:113: si[nhuge] did not panic
./index0-out.go:113: si[nhuge:] did not panic
./index0-out.go:113: sib[i64bigger] did not panic
./index0-out.go:113: sib[i64bigger:] did not panic
./index0-out.go:113: sib[ni64bigger] did not panic
./index0-out.go:113: sib[ni64bigger:] did not panic
./index0-out.go:113: sib[nhuge] did not panic
./index0-out.go:113: sib[nhuge:] did not panic
./index0-out.go:113: sq[i64bigger] did not panic
./index0-out.go:113: sq[i64bigger:] did not panic
./index0-out.go:113: sq[ni64bigger] did not panic
./index0-out.go:113: sq[ni64bigger:] did not panic
./index0-out.go:113: sq[nhuge] did not panic
./index0-out.go:113: sq[nhuge:] did not panic
./index0-out.go:113: sqb[i64bigger] did not panic
./index0-out.go:113: sqb[i64bigger:] did not panic
./index0-out.go:113: sqb[ni64bigger] did not panic
./index0-out.go:113: sqb[ni64bigger:] did not panic
./index0-out.go:113: sqb[nhuge] did not panic
./index0-out.go:113: sqb[nhuge:] did not panic
./index0-out.go:113: t.ai[i64bigger] did not panic
./index0-out.go:113: t.ai[i64bigger:] did not panic
./index0-out.go:113: t.ai[ni64bigger] did not panic
./index0-out.go:113: t.ai[ni64bigger:] did not panic
./index0-out.go:113: t.ai[nhuge] did not panic
./index0-out.go:113: t.ai[nhuge:] did not panic
./index0-out.go:113: t.aib[i64bigger] did not panic
./index0-out.go:113: t.aib[i64bigger:] did not panic
./index0-out.go:113: t.aib[ni64bigger] did not panic
./index0-out.go:113: t.aib[ni64bigger:] did not panic
./index0-out.go:113: t.aib[nhuge] did not panic
./index0-out.go:113: t.aib[nhuge:] did not panic
./index0-out.go:113: t.aq[i64bigger] did not panic
./index0-out.go:113: t.aq[i64bigger:] did not panic
./index0-out.go:113: t.aq[ni64bigger] did not panic
./index0-out.go:113: t.aq[ni64bigger:] did not panic
./index0-out.go:113: t.aq[nhuge] did not panic
./index0-out.go:113: t.aq[nhuge:] did not panic
./index0-out.go:113: t.aqb[i64bigger] did not panic
./index0-out.go:113: t.aqb[i64bigger:] did not panic
./index0-out.go:113: t.aqb[ni64bigger] did not panic
./index0-out.go:113: t.aqb[ni64bigger:] did not panic
./index0-out.go:113: t.aqb[nhuge] did not panic
./index0-out.go:113: t.aqb[nhuge:] did not panic
./index0-out.go:113: t.pai[i64bigger] did not panic
./index0-out.go:113: t.pai[i64bigger:] did not panic
./index0-out.go:113: t.pai[ni64bigger] did not panic
./index0-out.go:113: t.pai[ni64bigger:] did not panic
./index0-out.go:113: t.pai[nhuge] did not panic
./index0-out.go:113: t.pai[nhuge:] did not panic
./index0-out.go:113: t.paib[i64bigger] did not panic
./index0-out.go:113: t.paib[i64bigger:] did not panic
./index0-out.go:113: t.paib[ni64bigger] did not panic
./index0-out.go:113: t.paib[ni64bigger:] did not panic
./index0-out.go:113: t.paib[nhuge] did not panic
./index0-out.go:113: t.paib[nhuge:] did not panic
./index0-out.go:113: t.paq[i64bigger] did not panic
./index0-out.go:113: t.paq[i64bigger:] did not panic
./index0-out.go:113: t.paq[ni64bigger] did not panic
./index0-out.go:113: t.paq[ni64bigger:] did not panic
./index0-out.go:113: t.paq[nhuge] did not panic
./index0-out.go:113: t.paq[nhuge:] did not panic
./index0-out.go:113: t.paqb[i64bigger] did not panic
./index0-out.go:113: t.paqb[i64bigger:] did not panic
./index0-out.go:113: t.paqb[ni64bigger] did not panic
./index0-out.go:113: t.paqb[ni64bigger:] did not panic
./index0-out.go:113: t.paqb[nhuge] did not panic
./index0-out.go:113: t.paqb[nhuge:] did not panic
./index0-out.go:113: t.si[i64bigger] did not panic
./index0-out.go:113: t.si[i64bigger:] did not panic
./index0-out.go:113: t.si[ni64bigger] did not panic
./index0-out.go:113: t.si[ni64bigger:] did not panic
./index0-out.go:113: t.si[nhuge] did not panic
./index0-out.go:113: t.si[nhuge:] did not panic
./index0-out.go:113: t.sib[i64bigger] did not panic
./index0-out.go:113: t.sib[i64bigger:] did not panic
./index0-out.go:113: t.sib[ni64bigger] did not panic
./index0-out.go:113: t.sib[ni64bigger:] did not panic
./index0-out.go:113: t.sib[nhuge] did not panic
./index0-out.go:113: t.sib[nhuge:] did not panic
./index0-out.go:113: t.sq[i64bigger] did not panic
./index0-out.go:113: t.sq[i64bigger:] did not panic
./index0-out.go:113: t.sq[ni64bigger] did not panic
./index0-out.go:113: t.sq[ni64bigger:] did not panic
./index0-out.go:113: t.sq[nhuge] did not panic
./index0-out.go:113: t.sq[nhuge:] did not panic
./index0-out.go:113: t.sqb[i64bigger] did not panic
./index0-out.go:113: t.sqb[i64bigger:] did not panic
./index0-out.go:113: t.sqb[ni64bigger] did not panic
./index0-out.go:113: t.sqb[ni64bigger:] did not panic
./index0-out.go:113: t.sqb[nhuge] did not panic
./index0-out.go:113: t.sqb[nhuge:] did not panic
./index0-out.go:113: pt.ai[i64bigger] did not panic
./index0-out.go:113: pt.ai[i64bigger:] did not panic
./index0-out.go:113: pt.ai[ni64bigger] did not panic
./index0-out.go:113: pt.ai[ni64bigger:] did not panic
./index0-out.go:113: pt.ai[nhuge] did not panic
./index0-out.go:113: pt.ai[nhuge:] did not panic
./index0-out.go:113: pt.aib[i64bigger] did not panic
./index0-out.go:113: pt.aib[i64bigger:] did not panic
./index0-out.go:113: pt.aib[ni64bigger] did not panic
./index0-out.go:113: pt.aib[ni64bigger:] did not panic
./index0-out.go:113: pt.aib[nhuge] did not panic
./index0-out.go:113: pt.aib[nhuge:] did not panic
./index0-out.go:113: pt.aq[i64bigger] did not panic
./index0-out.go:113: pt.aq[i64bigger:] did not panic
./index0-out.go:113: pt.aq[ni64bigger] did not panic
./index0-out.go:113: pt.aq[ni64bigger:] did not panic
./index0-out.go:113: pt.aq[nhuge] did not panic
./index0-out.go:113: pt.aq[nhuge:] did not panic
./index0-out.go:113: pt.aqb[i64bigger] did not panic
./index0-out.go:113: pt.aqb[i64bigger:] did not panic
./index0-out.go:113: pt.aqb[ni64bigger] did not panic
./index0-out.go:113: pt.aqb[ni64bigger:] did not panic
./index0-out.go:113: pt.aqb[nhuge] did not panic
./index0-out.go:113: pt.aqb[nhuge:] did not panic
./index0-out.go:113: pt.pai[i64bigger] did not panic
./index0-out.go:113: pt.pai[i64bigger:] did not panic
./index0-out.go:113: pt.pai[ni64bigger] did not panic
./index0-out.go:113: pt.pai[ni64bigger:] did not panic
./index0-out.go:113: pt.pai[nhuge] did not panic
./index0-out.go:113: pt.pai[nhuge:] did not panic
./index0-out.go:113: pt.paib[i64bigger] did not panic
./index0-out.go:113: pt.paib[i64bigger:] did not panic
./index0-out.go:113: pt.paib[ni64bigger] did not panic
./index0-out.go:113: pt.paib[ni64bigger:] did not panic
./index0-out.go:113: pt.paib[nhuge] did not panic
./index0-out.go:113: pt.paib[nhuge:] did not panic
./index0-out.go:113: pt.paq[i64bigger] did not panic
./index0-out.go:113: pt.paq[i64bigger:] did not panic
./index0-out.go:113: pt.paq[ni64bigger] did not panic
./index0-out.go:113: pt.paq[ni64bigger:] did not panic
./index0-out.go:113: pt.paq[nhuge] did not panic
./index0-out.go:113: pt.paq[nhuge:] did not panic
./index0-out.go:113: pt.paqb[i64bigger] did not panic
./index0-out.go:113: pt.paqb[i64bigger:] did not panic
./index0-out.go:113: pt.paqb[ni64bigger] did not panic
./index0-out.go:113: pt.paqb[ni64bigger:] did not panic
./index0-out.go:113: pt.paqb[nhuge] did not panic
./index0-out.go:113: pt.paqb[nhuge:] did not panic
./index0-out.go:113: pt.si[i64bigger] did not panic
./index0-out.go:113: pt.si[i64bigger:] did not panic
./index0-out.go:113: pt.si[ni64bigger] did not panic
./index0-out.go:113: pt.si[ni64bigger:] did not panic
./index0-out.go:113: pt.si[nhuge] did not panic
./index0-out.go:113: pt.si[nhuge:] did not panic
./index0-out.go:113: pt.sib[i64bigger] did not panic
./index0-out.go:113: pt.sib[i64bigger:] did not panic
./index0-out.go:113: pt.sib[ni64bigger] did not panic
./index0-out.go:113: pt.sib[ni64bigger:] did not panic
./index0-out.go:113: pt.sib[nhuge] did not panic
./index0-out.go:113: pt.sib[nhuge:] did not panic
./index0-out.go:113: pt.sq[i64bigger] did not panic
./index0-out.go:113: pt.sq[i64bigger:] did not panic
./index0-out.go:113: pt.sq[ni64bigger] did not panic
./index0-out.go:113: pt.sq[ni64bigger:] did not panic
./index0-out.go:113: pt.sq[nhuge] did not panic
./index0-out.go:113: pt.sq[nhuge:] did not panic
./index0-out.go:113: pt.sqb[i64bigger] did not panic
./index0-out.go:113: pt.sqb[i64bigger:] did not panic
./index0-out.go:113: pt.sqb[ni64bigger] did not panic
./index0-out.go:113: pt.sqb[ni64bigger:] did not panic
./index0-out.go:113: pt.sqb[nhuge] did not panic
./index0-out.go:113: pt.sqb[nhuge:] did not panic
FAIL: ./index0-out.go execution,  -O0 -g -fno-var-tracking-assignments 

The test works ok on 64bit x86_64 targets.


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

* [Bug go/61866] FAIL: ./index0-out.go execution,  -O0 -g -fno-var-tracking-assignments
  2014-07-21  9:23 [Bug go/61866] New: FAIL: ./index0-out.go execution, -O0 -g -fno-var-tracking-assignments ubizjak at gmail dot com
@ 2014-08-05  2:58 ` ian at gcc dot gnu.org
  2014-08-05  3:20 ` ian at airs dot com
  2014-08-05 14:01 ` ian at airs dot com
  2 siblings, 0 replies; 4+ messages in thread
From: ian at gcc dot gnu.org @ 2014-08-05  2:58 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61866

--- Comment #1 from ian at gcc dot gnu.org <ian at gcc dot gnu.org> ---
Author: ian
Date: Tue Aug  5 02:58:15 2014
New Revision: 213616

URL: https://gcc.gnu.org/viewcvs?rev=213616&root=gcc&view=rev
Log:
    PR go/61308
    PR go/61866

compiler: Don't cast index expr to int before bounds check.

This fixes http://gcc.gnu.org/PR61866 : on a 32-bit system,
casting an int64 index to int drops the upper 32 bits of the
value, and thus can cause an out-of-range index to appear to
be in range.

This undoes part of change 1318:fa6e0c716dba
(https://codereview.appspot.com/104610044) and therefore
breaks http://gcc.gnu.org/PR61308 again.  I have a separate
patch for that (http://codereview.appspot.com/122020043).  In
addition to undoing part of that change, this patch adds code
to avoid a compiler crash.  This changes PR61308 from a
compiler crash to an incorrect error message.

Modified:
    trunk/gcc/go/gofrontend/expressions.cc


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

* [Bug go/61866] FAIL: ./index0-out.go execution,  -O0 -g -fno-var-tracking-assignments
  2014-07-21  9:23 [Bug go/61866] New: FAIL: ./index0-out.go execution, -O0 -g -fno-var-tracking-assignments ubizjak at gmail dot com
  2014-08-05  2:58 ` [Bug go/61866] " ian at gcc dot gnu.org
@ 2014-08-05  3:20 ` ian at airs dot com
  2014-08-05 14:01 ` ian at airs dot com
  2 siblings, 0 replies; 4+ messages in thread
From: ian at airs dot com @ 2014-08-05  3:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61866

Ian Lance Taylor <ian at airs dot com> changed:

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

--- Comment #2 from Ian Lance Taylor <ian at airs dot com> ---
Fixed.

Thanks for reporting it.


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

* [Bug go/61866] FAIL: ./index0-out.go execution,  -O0 -g -fno-var-tracking-assignments
  2014-07-21  9:23 [Bug go/61866] New: FAIL: ./index0-out.go execution, -O0 -g -fno-var-tracking-assignments ubizjak at gmail dot com
  2014-08-05  2:58 ` [Bug go/61866] " ian at gcc dot gnu.org
  2014-08-05  3:20 ` ian at airs dot com
@ 2014-08-05 14:01 ` ian at airs dot com
  2 siblings, 0 replies; 4+ messages in thread
From: ian at airs dot com @ 2014-08-05 14:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61866

--- Comment #3 from Ian Lance Taylor <ian at airs dot com> ---
*** Bug 61865 has been marked as a duplicate of this bug. ***


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

end of thread, other threads:[~2014-08-05 14:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-21  9:23 [Bug go/61866] New: FAIL: ./index0-out.go execution, -O0 -g -fno-var-tracking-assignments ubizjak at gmail dot com
2014-08-05  2:58 ` [Bug go/61866] " ian at gcc dot gnu.org
2014-08-05  3:20 ` ian at airs dot com
2014-08-05 14:01 ` ian at airs dot com

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