Bug 13841 - [3.4/4.0? regression] missing debug info for _Complex function arguments
Summary: [3.4/4.0? regression] missing debug info for _Complex function arguments
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: debug (show other bugs)
Version: 3.4.0
: P2 critical
Target Milestone: 3.4.3
Assignee: Richard Henderson
URL:
Keywords: wrong-debug
Depends on:
Blocks:
 
Reported: 2004-01-23 23:45 UTC by Bob Wilson
Modified: 2004-10-13 23:27 UTC (History)
2 users (show)

See Also:
Host:
Target: SPLIT_COMPLEX_ARGS == 1
Build:
Known to work: 3.3.3
Known to fail: 3.4.0 3.4.1 4.0.0
Last reconfirmed: 2004-01-24 01:28:29


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bob Wilson 2004-01-23 23:45:01 UTC
Today (23 Jan 2004) I changed the Xtensa port to define SPLIT_COMPLEX_ARGS so
that _Complex function arguments are split into separate real and imaginary
parts.  After that change, I noticed that I couldn't see any _Complex arguments
from GDB.  The following input will demonstrate the problem:

_Complex int cmplx (_Complex int arg) { return arg; }

int main (void) {
  _Complex int c = (1,2);
  c = cmplx(c);
  return 0;
}

With the default of DWARF2 for this target, the "formal parameter" TAG for "arg"
is produced but it has no AT_location entry.  If I use "-gstabs", there is no
".stabs" entry at all for "arg".

I'm not aware of anything specific to the Xtensa port that would cause this, so
the same problem is likely to occur with other ports that define
SPLIT_COMPLEX_ARGS (currently alpha and rs6000/AIX).
Comment 1 Andrew Pinski 2004-01-24 01:28:28 UTC
Confirmed on the mainline with a cross compiler to powerpc-ibm-aix.
Comment 2 David Edelsohn 2004-07-02 19:42:28 UTC
The missing debug information is a regression from GCC 3.3.
Comment 3 David Edelsohn 2004-07-02 19:45:01 UTC
Add CC and known work/fail
Comment 4 Mark Mitchell 2004-08-29 18:53:26 UTC
Postponed until GCC 3.4.3.
Comment 5 GCC Commits 2004-10-13 23:18:31 UTC
Subject: Bug 13841

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	rth@gcc.gnu.org	2004-10-13 23:18:19

Modified files:
	gcc            : ChangeLog function.c 

Log message:
	PR debug/13841
	* function.c (instantiate_decl): Recurse for CONCAT.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.655&r2=2.2326.2.656
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/function.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.483.4.18&r2=1.483.4.19

Comment 6 GCC Commits 2004-10-13 23:25:31 UTC
Subject: Bug 13841

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rth@gcc.gnu.org	2004-10-13 23:25:18

Modified files:
	gcc            : ChangeLog function.c 

Log message:
	PR debug/13841
	* function.c (instantiate_decl): Recurse for CONCAT.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.5868&r2=2.5869
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/function.c.diff?cvsroot=gcc&r1=1.582&r2=1.583

Comment 7 Richard Henderson 2004-10-13 23:27:49 UTC
Fixed.