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

             Bug #: 51197
           Summary: [4.7 Regression] Backtrace information less useful
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: anl...@gmx.de


Hi,

the backtrace facility is less useful with 4.7 than with 4.6.

Example:

program backtrace
  implicit none
  print *, foo (0.0)
contains
  function foo (x)
    real, intent (in) :: x
    real              :: foo
    foo = 1 / x
  end function foo
end program backtrace


gfortran 4.7 (svn revision 181390, arch is i686-pc-linux-gnu):

% /opt/gcc/4.7/bin/gfortran -g -fbacktrace gfcbug113.f90
-ffpe-trap=zero,overflow,invalid -static-libgfortran
% ./a.out

A fatal error occurred! Backtrace for this error:
#0  0x80588BF in _gfortrani_show_backtrace at backtrace.c:261
#1  0x80494B7 in _gfortrani_backtrace_handler at compile_options.c:46
#2  0xFFFFE3FF
#3  0x80493B3 in foo at gfcbug113.f90:8
#4  0x804940B in backtrace at gfcbug113.f90:3
Floating point exception (core dumped)


With gfortran 4.6:

Program received signal 8 (SIGFPE): Floating-point exception.

Backtrace for this error:
  + [0xffffe400]
  + function foo (0x80494B3)
    at line 8 of file gfcbug113.f90
  + function backtrace (0x804950C)
    at line 3 of file gfcbug113.f90
  + /lib/libc.so.6(__libc_start_main+0xe5) [0xb7641705]


Same for SIGSEGV etc.  It would be nice if I got back
the old behaviour where the actual error is displayed.
I'm not always good at guessing...

Harald

Reply via email to