[Bug fortran/51197] [4.7 Regression] Backtrace information less useful

kargl at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Nov 17 20:25:00 GMT 2011


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

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kargl at gcc dot gnu.org

--- Comment #1 from kargl at gcc dot gnu.org 2011-11-17 20:04:07 UTC ---
(In reply to comment #0)
> 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...
> 

What exactly do you want?

In 4.7, the last line of the backtrace is

   "Floating point exception (core dumped)".

That matches the first line from 4.6

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


In 4.7, the line 

#3  0x80493B3 in foo at gfcbug113.f90:8


contains all of the information from 4.6

  + function foo (0x80494B3)
    at line 8 of file gfcbug113.f90


-- 
steve



More information about the Gcc-bugs mailing list