mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-23 21:31:54 +08:00
re PR lto/41521 ([LTO] ICE verify_cgraph_node only with "-g")
2009-10-14 Richard Guenther <rguenther@suse.de> PR lto/41521 * lto-streamer-in.c (input_bb): Replace debug stmts with nops instead of dropping them. * gfortran.dg/lto/pr41521_0.f90: New testcase. * gfortran.dg/lto/pr41521_1.f90: Likewise. From-SVN: r152767
This commit is contained in:
parent
8ad1dde72b
commit
77ce724c6b
@ -1,3 +1,9 @@
|
||||
2009-10-14 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR lto/41521
|
||||
* lto-streamer-in.c (input_bb): Replace debug stmts with
|
||||
nops instead of dropping them.
|
||||
|
||||
2009-10-14 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* gcc/doc/extended.texi: Replace the dash character with
|
||||
|
@ -1014,15 +1014,15 @@ input_bb (struct lto_input_block *ib, enum LTO_tags tag,
|
||||
{
|
||||
gimple stmt = input_gimple_stmt (ib, data_in, fn, tag);
|
||||
|
||||
/* Drop debug stmts on-the-fly if we do not have VTA enabled.
|
||||
/* Change debug stmts to nops on-the-fly if we do not have VTA enabled.
|
||||
This allows us to build for example static libs with debugging
|
||||
enabled and do the final link without. */
|
||||
if (MAY_HAVE_DEBUG_STMTS
|
||||
|| !is_gimple_debug (stmt))
|
||||
{
|
||||
find_referenced_vars_in (stmt);
|
||||
gsi_insert_after (&bsi, stmt, GSI_NEW_STMT);
|
||||
}
|
||||
if (!MAY_HAVE_DEBUG_STMTS
|
||||
&& is_gimple_debug (stmt))
|
||||
stmt = gimple_build_nop ();
|
||||
|
||||
find_referenced_vars_in (stmt);
|
||||
gsi_insert_after (&bsi, stmt, GSI_NEW_STMT);
|
||||
|
||||
/* After the statement, expect a 0 delimiter or the EH region
|
||||
that the previous statement belongs to. */
|
||||
@ -1033,8 +1033,7 @@ input_bb (struct lto_input_block *ib, enum LTO_tags tag,
|
||||
{
|
||||
HOST_WIDE_INT region = lto_input_sleb128 (ib);
|
||||
gcc_assert (region == (int) region);
|
||||
if (MAY_HAVE_DEBUG_STMTS || !is_gimple_debug (stmt))
|
||||
add_stmt_to_eh_lp (stmt, region);
|
||||
add_stmt_to_eh_lp (stmt, region);
|
||||
}
|
||||
|
||||
tag = input_record_start (ib);
|
||||
|
@ -1,3 +1,9 @@
|
||||
2009-10-14 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR lto/41521
|
||||
* gfortran.dg/lto/pr41521_0.f90: New testcase.
|
||||
* gfortran.dg/lto/pr41521_1.f90: Likewise.
|
||||
|
||||
2009-10-14 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR preprocessor/41543
|
||||
|
9
gcc/testsuite/gfortran.dg/lto/pr41521_0.f90
Normal file
9
gcc/testsuite/gfortran.dg/lto/pr41521_0.f90
Normal file
@ -0,0 +1,9 @@
|
||||
! { dg-lto-do link }
|
||||
! { dg-lto-options {{-g -flto} {-g -O -flto}} }
|
||||
program species
|
||||
integer spk(2)
|
||||
real eval(2)
|
||||
spk = 2
|
||||
call atom(1.1,spk,eval)
|
||||
end program
|
||||
|
9
gcc/testsuite/gfortran.dg/lto/pr41521_1.f90
Normal file
9
gcc/testsuite/gfortran.dg/lto/pr41521_1.f90
Normal file
@ -0,0 +1,9 @@
|
||||
subroutine atom(sol,k,eval)
|
||||
real, intent(in) :: sol
|
||||
integer, intent(in) :: k(2)
|
||||
real, intent(out) :: eval(2)
|
||||
real t1
|
||||
t1=sqrt(dble(k(1)**2)-(sol)**2)
|
||||
eval(1)=sol**2/sqrt(t1)-sol**2
|
||||
end subroutine
|
||||
|
Loading…
x
Reference in New Issue
Block a user