[Bug fortran/41297] New: [4.5 Regression] Functions are called twice
burnus at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Sep 7 15:55:00 GMT 2009
In the following program, the function should only be called once. However,
with GCC 4.5 the function is called twice (see dump).
MAIN__ ()
{
struct fgsl_interp interp;
{
struct fgsl_interp D.1347;
static integer(kind=4) C.1345 = 1;
D.1347 = fgsl_interp_alloc (&C.1345);
interp = fgsl_interp_alloc (&C.1345);
}
}
module m
use iso_c_binding
type :: fgsl_interp
type(c_ptr) :: gsl_interp
end type fgsl_interp
contains
function fgsl_interp_alloc(size)
integer, intent(in) :: size
type(fgsl_interp) :: fgsl_interp_alloc
logical :: double = .false.
if (double) call abort()
double = .true.
fgsl_interp_alloc%gsl_interp = c_null_ptr
end function fgsl_interp_alloc
end module m
use m
type(fgsl_interp) :: interp
interp = fgsl_interp_alloc(1)
end
--
Summary: [4.5 Regression] Functions are called twice
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
OtherBugsDependingO 41293
nThis:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41297
More information about the Gcc-bugs
mailing list