[Bug debug/47801] New: guality tests have issues with LTO / -fwhole-program
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Feb 18 15:14:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47801
Summary: guality tests have issues with LTO / -fwhole-program
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: debug
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: rguenth@gcc.gnu.org
CC: aoliva@gcc.gnu.org
As when using the linker plugin we effectively use -fwhole-program we get
guality FAILs like
FAIL: gcc.dg/guality/pr41353-1.c -O2 -flto line 17 vari1 == 2 * 17
FAIL: gcc.dg/guality/pr41353-1.c -O2 -flto line 17 vari2 == 3 * 17
FAIL: gcc.dg/guality/pr41353-1.c -O2 -flto line 17 vari3 == 2 * 17
FAIL: gcc.dg/guality/pr41353-1.c -O2 -flto line 17 vari4 == 3 * 17
FAIL: gcc.dg/guality/pr41353-1.c -O2 -flto line 17 vari5 == 4 * 17
FAIL: gcc.dg/guality/pr41353-1.c -O2 -flto line 17 vari6 == 5 * 17
this is because we promote the global var vari to static and do not
output it. That causes dwarf2out.c:resolve_one_addr () to reject
the built location expression as it still references vari (and is
not constant folded).
With -fwhole-program I see similar
FAIL: gcc.dg/guality/pr41353-1.c -O1 line 17 vari == 17
FAIL: gcc.dg/guality/pr41353-1.c -O1 line 17 vari1 == 2 * 17
FAIL: gcc.dg/guality/pr41353-1.c -O1 line 17 vari2 == 3 * 17
FAIL: gcc.dg/guality/pr41353-1.c -O1 line 17 vari3 == 2 * 17
FAIL: gcc.dg/guality/pr41353-1.c -O1 line 17 vari4 == 3 * 17
FAIL: gcc.dg/guality/pr41353-1.c -O1 line 17 vari5 == 4 * 17
FAIL: gcc.dg/guality/pr41353-1.c -O1 line 17 vari6 == 5 * 17
The promotion to static const happens during IPA optimizations when
the debug statements are already there and nothing folds them later.
More information about the Gcc-bugs
mailing list