public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug debug/53704] New: [4.8 Regression] ICE: in based_loc_descr, at dwarf2out.c:10027 after revision 188621
@ 2012-06-17 11:14 dominiq at lps dot ens.fr
  2012-06-17 11:53 ` [Bug debug/53704] " ebotcazou at gcc dot gnu.org
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-06-17 11:14 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 53704
           Summary: [4.8 Regression] ICE: in based_loc_descr, at
                    dwarf2out.c:10027 after revision 188621
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: dominiq@lps.ens.fr
                CC: burnus@net-b.de, ebotcazou@gcc.gnu.org,
                    iains@gcc.gnu.org
              Host: x86_64-apple-darwin10
            Target: x86_64-apple-darwin10
             Build: x86_64-apple-darwin10


On x86_64-apple-darwin10, revision 188621 causes/exposes the following
regressions:

Running target unix/-m32
FAIL: gfortran.dg/minmax_char_1.f90  -O3 -g  (internal compiler error)
FAIL: gfortran.dg/minmax_char_1.f90  -O3 -g  (test for excess errors)
...
Running target unix/-m64
FAIL: gfortran.dg/array_constructor_type_7.f03  -O3 -g  (internal compiler
error)
FAIL: gfortran.dg/array_constructor_type_7.f03  -O3 -g  (test for excess
errors)

In both cases, the internal compiler error appears with optimization at -O1 or
above and -g and is

[macbook] f90/bug% gfc -m32 -O1 -g minmax_char_1_red.f90
minmax_char_1_red.f90: In function 'equal':
minmax_char_1_red.f90:28:0: internal compiler error: in based_loc_descr, at
dwarf2out.c:10027

I have reduced minmax_char_1.f90 to

program test

  character(len=3) :: s
  character(len=6) :: t
  s = "gee"
  t = "crunch"

  call foo("gee   ","crunch",s,t)

contains

  subroutine foo(res_max, res_min, a, b, c, d)
    character(len=*) :: res_min, res_max
    character(len=*), optional :: a, b, c, d

    if (.not. equal(min(a,b,c,d), res_min)) call abort
    if (.not. equal(max(a,b,c,d), res_max)) call abort
  end subroutine foo

  pure function equal(a,b)
    character(len=*), intent(in) :: a, b
    logical :: equal

    equal = (len(a) == len(b)) .and. (a == b)
  end function equal

end program test

The ICE goes away if I remove one of the IF in the subroutine foo. Note also
that minmax_char_1.f90 passes with -m64 and array_constructor_type_7.f03 with
-m32.


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

end of thread, other threads:[~2012-06-22  7:24 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-17 11:14 [Bug debug/53704] New: [4.8 Regression] ICE: in based_loc_descr, at dwarf2out.c:10027 after revision 188621 dominiq at lps dot ens.fr
2012-06-17 11:53 ` [Bug debug/53704] " ebotcazou at gcc dot gnu.org
2012-06-17 22:47 ` pinskia at gcc dot gnu.org
2012-06-19 15:04 ` ebotcazou at gcc dot gnu.org
2012-06-19 15:07 ` ebotcazou at gcc dot gnu.org
2012-06-19 15:14 ` ebotcazou at gcc dot gnu.org
2012-06-19 15:21 ` ebotcazou at gcc dot gnu.org
2012-06-20  7:16 ` jakub at gcc dot gnu.org
2012-06-20  8:08 ` ebotcazou at gcc dot gnu.org
2012-06-20  8:42 ` dominiq at lps dot ens.fr
2012-06-20  8:44 ` jakub at gcc dot gnu.org
2012-06-20  8:58 ` ebotcazou at gcc dot gnu.org
2012-06-20 11:59 ` dominiq at lps dot ens.fr
2012-06-22  7:20 ` ebotcazou at gcc dot gnu.org
2012-06-22  7:24 ` ebotcazou 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).