This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/55056] [4.8 Regression] -O0 -g missing location for register double var
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 25 Oct 2012 06:35:28 +0000
- Subject: [Bug debug/55056] [4.8 Regression] -O0 -g missing location for register double var
- Auto-submitted: auto-generated
- References: <bug-55056-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55056
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-10-25 06:35:28 UTC ---
-Og -g0 doesn't produce debug info, so it should fail all debugger tests.
-Og -g should work.
The problem with register vars at -O0 is that they aren't assigned a stack
slot, so for good debug info they'd need VTA, but we don't do that at -O0 (both
because it is expensive and because var-tracking isn't tought to handle -O0
well - for -O0 I guess we don't want to add debug stmts (or ignore them) for
non-register non-param vars (perhaps also with exception of VLA bound
temporaries), and once something is stored into its memory location, it should
be considered to live there and not for say
l = l + 1;
where l lives in memory say for an instruction or two that l lives in some
register or register + 1 and then again in memory.