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

            Bug ID: 61950
           Summary: [4.10 regression] Many 64-bit fortran allocate tests
                    FAIL
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: ebotcazou at gcc dot gnu.org, rguenth at gcc dot gnu.org
              Host: sparc-sun-solaris2.1[01]
            Target: sparc-sun-solaris2.1[01]
             Build: sparc-sun-solaris2.1[01]

Between 20140718 (r212815) and 20140725 (r213049) many 64-bit gfortran tests
started to FAIL on Solaris/SPARC, at -O1 and beyond only:

FAIL: gfortran.dg/allocate_class_3.f90   -O1  execution test
FAIL: gfortran.dg/allocate_class_3.f90   -O2  execution test
FAIL: gfortran.dg/allocate_class_3.f90   -O3 -fomit-frame-pointer  execution
test
FAIL: gfortran.dg/allocate_class_3.f90   -O3 -fomit-frame-pointer
-funroll-loops  execution test
FAIL: gfortran.dg/allocate_class_3.f90   -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions  execution test
FAIL: gfortran.dg/allocate_class_3.f90   -O3 -g  execution test
FAIL: gfortran.dg/allocate_class_3.f90   -Os  execution test
FAIL: gfortran.dg/class_19.f03   -O1  execution test
FAIL: gfortran.dg/class_19.f03   -O2  execution test
FAIL: gfortran.dg/class_19.f03   -O3 -fomit-frame-pointer  execution test
FAIL: gfortran.dg/class_19.f03   -O3 -fomit-frame-pointer -funroll-loops 
execution test
FAIL: gfortran.dg/class_19.f03   -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions  execution test
FAIL: gfortran.dg/class_19.f03   -O3 -g  execution test
FAIL: gfortran.dg/class_19.f03   -Os  execution test

and many more.

A reghunt revealed the following patch as the culprit:

2014-07-25  Richard Biener  <rguent...@suse.de>

    PR middle-end/61762
    PR middle-end/61894
    * fold-const.c (native_encode_int): Add and handle offset
    parameter to do partial encodings of expr.

The first test e.g aborts here:

#4  0x000000010000213c in MAIN__ ()
    at /var/gcc/reghunt/trunk/gcc/testsuite/gfortran.dg/allocate_class_3.f90:76
76            if (any (x%i .ne. [1,2])) call abort

  Rainer

Reply via email to