* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
@ 2003-09-12 18:52 ` mec at shout dot net
2003-09-12 18:53 ` mec at shout dot net
` (21 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: mec at shout dot net @ 2003-09-12 18:52 UTC (permalink / raw)
To: gcc-bugs
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
------- Additional Comments From mec at shout dot net 2003-09-12 18:49 -------
Created an attachment (id=4746)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=4746&action=view)
Source file
Source file which tickles the bug.
Compile with: gcc -gstabs+ -O2 -S.
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
2003-09-12 18:52 ` [Bug debug/12267] " mec at shout dot net
@ 2003-09-12 18:53 ` mec at shout dot net
2003-09-12 18:54 ` mec at shout dot net
` (20 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: mec at shout dot net @ 2003-09-12 18:53 UTC (permalink / raw)
To: gcc-bugs
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
------- Additional Comments From mec at shout dot net 2003-09-12 18:50 -------
Created an attachment (id=4747)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=4747&action=view)
assembly file, good
Assembly file with gcc HEAD 2003-09-05 05:00:00 UTC.
This file is okay.
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
2003-09-12 18:52 ` [Bug debug/12267] " mec at shout dot net
2003-09-12 18:53 ` mec at shout dot net
@ 2003-09-12 18:54 ` mec at shout dot net
2003-09-12 18:54 ` mec at shout dot net
` (19 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: mec at shout dot net @ 2003-09-12 18:54 UTC (permalink / raw)
To: gcc-bugs
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
------- Additional Comments From mec at shout dot net 2003-09-12 18:53 -------
Created an attachment (id=4749)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=4749&action=view)
Source file, smaller example
This is a smaller source file with pre-processor gunk stripped out.
This is a minimal file that I could find.
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (2 preceding siblings ...)
2003-09-12 18:54 ` mec at shout dot net
@ 2003-09-12 18:54 ` mec at shout dot net
2003-09-12 19:06 ` bangerth at dealii dot org
` (18 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: mec at shout dot net @ 2003-09-12 18:54 UTC (permalink / raw)
To: gcc-bugs
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
------- Additional Comments From mec at shout dot net 2003-09-12 18:52 -------
Created an attachment (id=4748)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=4748&action=view)
assembly file, bad
Assembly file with gcc HEAD 2003-09-05 06:00:00 UTC.
This file has a bad .stab for "factorial" at the end of main
(line 505 of 512).
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (3 preceding siblings ...)
2003-09-12 18:54 ` mec at shout dot net
@ 2003-09-12 19:06 ` bangerth at dealii dot org
2003-09-12 19:11 ` bangerth at dealii dot org
` (17 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: bangerth at dealii dot org @ 2003-09-12 19:06 UTC (permalink / raw)
To: gcc-bugs
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
------- Additional Comments From bangerth at dealii dot org 2003-09-12 18:54 -------
Jan, this is your field.
The listed patch is certainly not the one that created the problem, as
it only enables unit-at-a-time with -O2. Michael, can you try to find
out which patch introduced the problem when you go further back and
explicitly compile with -funit-at-a-time?
W.
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (4 preceding siblings ...)
2003-09-12 19:06 ` bangerth at dealii dot org
@ 2003-09-12 19:11 ` bangerth at dealii dot org
2003-09-12 21:02 ` mec at shout dot net
` (16 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: bangerth at dealii dot org @ 2003-09-12 19:11 UTC (permalink / raw)
To: gcc-bugs
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
bangerth at dealii dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |hubicka at gcc dot gnu dot
|dot org |org
Status|UNCONFIRMED |ASSIGNED
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (5 preceding siblings ...)
2003-09-12 19:11 ` bangerth at dealii dot org
@ 2003-09-12 21:02 ` mec at shout dot net
2003-09-18 4:26 ` pinskia at gcc dot gnu dot org
` (15 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: mec at shout dot net @ 2003-09-12 21:02 UTC (permalink / raw)
To: gcc-bugs
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
------- Additional Comments From mec at shout dot net 2003-09-12 19:11 -------
Subject: Re: [3.4 regression] function-at-a-time generates stabs in bad order
I agree it would be useful to date-search this with explicit
-funit-at-a-time, but I won't have time to do this for several
days (maybe a week).
Michael C
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (6 preceding siblings ...)
2003-09-12 21:02 ` mec at shout dot net
@ 2003-09-18 4:26 ` pinskia at gcc dot gnu dot org
2003-11-29 2:06 ` pinskia at gcc dot gnu dot org
` (14 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-09-18 4:26 UTC (permalink / raw)
To: gcc-bugs
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
------- Additional Comments From pinskia at gcc dot gnu dot org 2003-09-18 02:25 -------
Might be fixed by <http://gcc.gnu.org/ml/gcc-patches/2003-09/msg01167.html>.
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (7 preceding siblings ...)
2003-09-18 4:26 ` pinskia at gcc dot gnu dot org
@ 2003-11-29 2:06 ` pinskia at gcc dot gnu dot org
2003-11-30 17:48 ` mec at shout dot net
` (13 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-11-29 2:06 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2003-11-29 02:06 -------
It was fixed by that patch.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Keywords| |wrong-code
Resolution| |FIXED
Target Milestone|--- |3.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (8 preceding siblings ...)
2003-11-29 2:06 ` pinskia at gcc dot gnu dot org
@ 2003-11-30 17:48 ` mec at shout dot net
2003-12-01 6:45 ` pinskia at gcc dot gnu dot org
` (12 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: mec at shout dot net @ 2003-11-30 17:48 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mec at shout dot net 2003-11-30 17:48 -------
This bug still happens with gcc HEAD 2003-11-29 16:28:31 UTC.
Here's an excerpt from a recent z0.s, the result of "gcc -gstabs+ -O2 -S z0.c"
with gcc HEAD 2003-11-29 16:28:31 UTC. (Other info: binutils 2.14, native
i686-pc-linux-gnu, red hat 8.0).
.LM15:
leave
xorl %eax, %eax
ret
.size main, .-main
.stabs "factorial:F(0,1)",36,0,13,factorial
.Lscope1:
.stabs "",36,0,0,.Lscope1-main
.text
.stabs "",100,0,0,.Letext
.Letext:
.section .note.GNU-stack,"",@progbits
.ident "GCC: (GNU) 3.4 20031129 (experimental)"
The ".stabs" for factorial still appears at the end of "main", right after
".size main, .-main"
Also, if you look at gcc/ChangeLog, only half of msg01167.html was committed to
gcc HEAD.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |UNCONFIRMED
Resolution|FIXED |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (9 preceding siblings ...)
2003-11-30 17:48 ` mec at shout dot net
@ 2003-12-01 6:45 ` pinskia at gcc dot gnu dot org
2003-12-01 19:07 ` mec at shout dot net
` (11 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-12-01 6:45 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2003-12-01 06:45:19
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (10 preceding siblings ...)
2003-12-01 6:45 ` pinskia at gcc dot gnu dot org
@ 2003-12-01 19:07 ` mec at shout dot net
2003-12-01 19:12 ` pinskia at gcc dot gnu dot org
` (10 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: mec at shout dot net @ 2003-12-01 19:07 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mec at shout dot net 2003-12-01 19:07 -------
I executed Wolfgang's suggestion and did a date search with -funit-at-a-time
enabled.
The bad .stabs line appeared between 2003-04-11 03:00:00 UTC and 2003-04-11
04:30 UTC (these times are on the subversions.gnu.org repository,
cvsroot=:pserver:anoncvs:@subversions.gnu.org:/cvsroot/gcc).
The patch which caused this is:
2003-04-10 Zack Weinberg <zack@codesourcery.com>
* c-decl.c (struct binding_level): Add shadowed_tags and
function_body; remove this_block, tag_transparent, and
subblocks_tag_transparent; update comments.
...
2003-04-10 Zack Weinberg <zack@codesourcery.com>
* c-tree.h (struct lang_identifier): Replace global_value,
local_value members with symbol_value, tag_value. Kill
implicit_decl and limbo_value.
...
There are two ChangeLog entries here, but only one patch.
There is some discussion here:
http://gcc.gnu.org/ml/gcc-patches/2003-04/msg00766.html
http://gcc.gnu.org/ml/gcc-patches/2003-04/msg00767.html
In the followup to 00767, Neil Booth said: "I once tried to remove the extra
contour, which gave a bootstrappable compiler but with screwy debug info IIRC.
At that point I gave up.", and Zack said "I don't think the debug info is
screwed by this ... I suppose we'll find out." Heh.
I will attach a couple of generated assembly files from the compilers just
before and after the regression.
Michael C
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |zack at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (11 preceding siblings ...)
2003-12-01 19:07 ` mec at shout dot net
@ 2003-12-01 19:12 ` pinskia at gcc dot gnu dot org
2003-12-01 19:33 ` zack at codesourcery dot com
` (9 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-12-01 19:12 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2003-12-01 19:12 -------
This is third bug that was caused by these patches.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (12 preceding siblings ...)
2003-12-01 19:12 ` pinskia at gcc dot gnu dot org
@ 2003-12-01 19:33 ` zack at codesourcery dot com
2003-12-06 9:29 ` pinskia at gcc dot gnu dot org
` (8 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: zack at codesourcery dot com @ 2003-12-01 19:33 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From zack at codesourcery dot com 2003-12-01 19:33 -------
Subject: Re: [3.4 regression] function-at-a-time generates
stabs in bad order
The present state of c-decl.c is "halfway through a major rewrite" and
I am not surprised by the bugs. Unfortunately I ran out of time to
work on it, and Geoff's multiple-translation-unit patches make it a
lot harder to finish; and I don't think backing it out is feasible.
I will see if I can find time to work on this now. Please assign all
such bugs to me so I can find them easily.
zw
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (13 preceding siblings ...)
2003-12-01 19:33 ` zack at codesourcery dot com
@ 2003-12-06 9:29 ` pinskia at gcc dot gnu dot org
2003-12-29 17:50 ` pinskia at gcc dot gnu dot org
` (7 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-12-06 9:29 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2003-12-06 09:29 -------
It is Zack's bug.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|hubicka at gcc dot gnu dot |zack at gcc dot gnu dot org
|org |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (14 preceding siblings ...)
2003-12-06 9:29 ` pinskia at gcc dot gnu dot org
@ 2003-12-29 17:50 ` pinskia at gcc dot gnu dot org
2004-01-06 5:14 ` pinskia at gcc dot gnu dot org
` (6 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-12-29 17:50 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |critical
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (15 preceding siblings ...)
2003-12-29 17:50 ` pinskia at gcc dot gnu dot org
@ 2004-01-06 5:14 ` pinskia at gcc dot gnu dot org
2004-03-16 20:57 ` [Bug debug/12267] [3.4/3.5 " zack at gcc dot gnu dot org
` (5 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-06 5:14 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|critical |normal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4/3.5 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (16 preceding siblings ...)
2004-01-06 5:14 ` pinskia at gcc dot gnu dot org
@ 2004-03-16 20:57 ` zack at gcc dot gnu dot org
2004-03-21 17:55 ` mmitchel at gcc dot gnu dot org
` (4 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: zack at gcc dot gnu dot org @ 2004-03-16 20:57 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From zack at gcc dot gnu dot org 2004-03-16 20:57 -------
Fixed by the c-decl.c rewrite:
http://gcc.gnu.org/ml/gcc-patches/2004-03/msg01280.html
--
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |patch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4/3.5 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (17 preceding siblings ...)
2004-03-16 20:57 ` [Bug debug/12267] [3.4/3.5 " zack at gcc dot gnu dot org
@ 2004-03-21 17:55 ` mmitchel at gcc dot gnu dot org
2004-03-23 23:48 ` cvs-commit at gcc dot gnu dot org
` (3 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-03-21 17:55 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-03-21 17:55 -------
Given that stabs are only used on a few platforms by deafult, and that Zack
doesn't think this easy to fix for 3.4.0, and that the c-decl rewrite may be
backported to 3.4.1, which will then fix it, I've retargeted this at 3.4.1.
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.4.0 |3.4.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4/3.5 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (18 preceding siblings ...)
2004-03-21 17:55 ` mmitchel at gcc dot gnu dot org
@ 2004-03-23 23:48 ` cvs-commit at gcc dot gnu dot org
2004-03-23 23:51 ` [Bug debug/12267] [3.4 " zack at gcc dot gnu dot org
` (2 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-03-23 23:48 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-03-23 23:47 -------
Subject: Bug 12267
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: zack@gcc.gnu.org 2004-03-23 23:47:53
Modified files:
gcc : ChangeLog c-common.h c-decl.c c-lang.c
c-objc-common.c c-opts.c c-parse.in c-tree.h
c-typeck.c coverage.c langhooks.c tree.c
gcc/cp : ChangeLog cp-lang.c parser.c
gcc/objc : objc-act.c objc-act.h objc-lang.c
gcc/testsuite : ChangeLog
gcc/testsuite/gcc.dg: Wold-style-definition-1.c builtins-30.c
decl-5.c local1.c redecl-1.c unused-4.c
gcc/testsuite/gcc.dg/noncompile: label-1.c label-lineno-1.c
gcc/testsuite/objc.dg: naming-1.m
Added files:
gcc/testsuite/gcc.dg: Wshadow-2.c
gcc/testsuite/gcc.dg/noncompile: incomplete-3.c undeclared-1.c
Log message:
PR 12267, 12391, 12560, 13129, 14114, 14113
* c-tree.h: Forward declare struct c_binding. Declare
c_override_bindings_to_false. Update prototypes.
(struct lang_identifier): Update comments. Change fields to be
struct c_binding *.
(IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
(IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
(KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
(C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
* c-common.h: Update prototypes.
* c-decl.c (struct c_scope): Update commentary. Remove names,
names_last, parms, parms_last, tags, and shadowed fields. Add
bindings and depth fields.
(scope_freelist): Move to more appropriate location.
(c_print_identifier): Update for changes to struct lang_identifier.
(objc_mark_locals_volatile): Update for new bindings structures.
(global_bindings_p): Honor c_override_global_bindings_to_false.
(pushlevel): Rename to push_scope; take no arguments; use the
scope_freelist; initialize scope->depth and check for overflow.
(poplevel): Rename to pop_scope; totally rewritten for new bindings
structures.
(diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
C_DECL_INVISIBLE, for certain decisions. Adjust some diagnostics.
Improve some commentary. Adjust handling of forward parm decls.
(merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
Preserve C_DECL_IN_EXTERNAL_SCOPE.
(warn_if_shadowing): Correct indentation. Improve diagnostics.
(pushdecl): Remove unnecessary assertion. Short-circuit anonymous
decls. Rewrite for new bindings structures. Improve commentary.
Eliminate the copy_node call.
(implicit_decl_warning): Use the "diag" idiom (as seen in
locate_old_decl) to reduce code duplication; call locate_old_decl
if appropriate. Relocate to remove need for forward declaration.
(implicitly_declare): Adjust for new bindings structures. Kludge
around Objective-C not-really-builtin functions.
(undeclared_variable): Improve diagnostics. If current_function_decl
is nonnull but current_function_scope is null, use current_scope.
Use bind.
(lookup_tag): Adjust for new bindings structures. Kludge around
Objective-C's tag declarations that wind up in the external scope.
(lookup_name): Adjust for new bindings structures. Kludge around
c-common.c's pseudo-typedefs that wind up in the external scope.
(lookup_name_current_level): Rename lookup_name_in_scope; take a
second argument indicating the scope to examine; rewrite for
new bindings structures.
(c_init_decl_processing): Adjust for renamed functions. Do not
initialize current_file_decl, first_builtin_decl, last_builtin_decl.
First scope pushed is the external scope, not the global scope.
(builtin_function): Use bind, not pushdecl. Adjust other bits
for new data structures. Keep track of builtins that should be
made visible automatically.
(start_decl): Adjust diagnostics. Remove unnecessary call to
expand_decl.
(grokparms): Return 0 if arg_types is error_mark_node.
(get_parm_info): Rename "void_at_end" argument to "ellipsis", with
reversed sense. Rewrite for new bindings structures. Do not
leave any decls in the scope, to prevent pop_scope from doing
contradictory things with them.
(finish_struct, finish_enum): Remove redundant diagnostics.
(build_enumerator): Don't cascade diagnostics for error_mark_node.
Mark location where -pedantic changes the meaning of the program.
(store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
parameter decls into the function's scope structure using bind.
Warn here about function definitions in the wrong style.
Adjust diagnostics.
(store_parm_decls): Correct the determination of whether a
function was defined with a prototype.
(c_write_global_declarations): Operate on all file decls and on
the external scope. Split body of the loop to...
(c_write_global_declarations_1): ... this new function, to avoid
code duplication.
(truly_local_externals, first_builtin_decl, last_builtin_decl)
(make_scope, pop_scope, in_parm_level_p, set_block)
(any_external_decl, record_external_decl, bind_label, getdecls)
(link_hash_hash, link_hash_eq, merge_translation_unit_decls)
(c_reset_state): Delete.
(visible_builtins, c_override_global_bindings_to_false)
(c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
(I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
(external_scope, binding_freelist, bind, free_binding_and_advance)
(push_file_scope, pop_file_scope): New.
(pushtag, pushdecl_top_level, lookup_label, declare_label)
(define_label, c_make_fname_decl, finish_decl)
(mark_forward_parm_decls, build_compound_literal)
(grokdeclarator, start_function, check_for_loop_decls)
(identifier_global_value, record_builtin_type): Minor adjustments
for new bindings structures. Improve diagnostics and commentary.
* c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
pushlevel/poplevel respectively.
(c_objc_common_finish_file): Don't call merge_translation_unit_decls.
* c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
Warn about YYDEBUG not being defined only if -dy. Remove no-longer-
correct loop over multiple translation units; call fatal_error if
requested to compile more than one file at once. (This disables
IMA temporarily - an up-front error being preferable to a crash.)
* c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
(all actions): Adjust calls to pushlevel/poplevel.
(parsing_iso_function_signature): Delete.
(extdef_1): Fold into extdef.
(old_style_parm_decls_1): Fold into old_style_parm_decls. Don't
warn here about function definitions in the wrong style.
(after_tyle_declarator, parm_declarator_starttypename)
(parm_declarator_nostarttypename, notype_declarator): Remove
commented-out productions.
(parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
an empty TREE_LIST node. Adjust calls to get_parm_info.
(parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
to suppress -Wold-style-definition after this error.
(c_parse_file): Don't clear the binding stack or call
finish_fname_decls here. Correct comment.
* c-typeck.c (same_translation_unit_p): Export.
(common_type): Use c_override_global_bindings_to_false, not
pushlevel/poplevel/declare_parm_level.
* c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
and LANG_HOOKS_GETDECLS with do-nothing stubs.
* objc/objc-lang.c: Likewise.
* objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
get_parm_info.
(OBJC_VOID_AT_END): Delete; replace all uses
with void_list_node.
(generate_forward_declaration_to_string_table): Delete.
* objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
* coverage.c (create_coverage): Don't pushdecl anything.
* langhooks.c (lhd_clear_binding_stack): Call
lang_hooks.decls.poplevel, not poplevel.
* tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
circular list rather than going into an infinite loop.
cp:
* cp-lang.c (c_reset_state): Delete.
(push_file_scope, pop_file_scope): New stubs.
* parser.c (c_parse_file): Call sorry() here if called more than once.
testsuite:
* gcc.dg/Wold-style-definition-1.c, gcc.dg/builtins-30.c
* gcc.dg/unused-4.c, gcc.dg/noncompile/label-1.c
* gcc.dg/noncompile/label-lineno-1.c, objc.dg/naming-1.m:
Adjust error regexps.
* gcc.dg/Wshadow-2.c, gcc.dg/noncompile/incomplete-3.c
* gcc.dg/noncompile/undeclared-1.c: New test cases.
* gcc.dg/decl-5.c, gcc.dg/redecl-1.c: Remove XFAIL.
* gcc.dg/local1.c: Add explanatory comment.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.3268&r2=2.3269
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.h.diff?cvsroot=gcc&r1=1.222&r2=1.223
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-decl.c.diff?cvsroot=gcc&r1=1.488&r2=1.489
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-lang.c.diff?cvsroot=gcc&r1=1.121&r2=1.122
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-objc-common.c.diff?cvsroot=gcc&r1=1.42&r2=1.43
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-opts.c.diff?cvsroot=gcc&r1=1.107&r2=1.108
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-parse.in.diff?cvsroot=gcc&r1=1.202&r2=1.203
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-tree.h.diff?cvsroot=gcc&r1=1.141&r2=1.142
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-typeck.c.diff?cvsroot=gcc&r1=1.293&r2=1.294
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/coverage.c.diff?cvsroot=gcc&r1=1.32&r2=1.33
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/langhooks.c.diff?cvsroot=gcc&r1=1.60&r2=1.61
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.c.diff?cvsroot=gcc&r1=1.361&r2=1.362
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4010&r2=1.4011
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-lang.c.diff?cvsroot=gcc&r1=1.74&r2=1.75
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&r1=1.186&r2=1.187
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/objc-act.c.diff?cvsroot=gcc&r1=1.207&r2=1.208
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/objc-act.h.diff?cvsroot=gcc&r1=1.20&r2=1.21
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/objc-lang.c.diff?cvsroot=gcc&r1=1.40&r2=1.41
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.3631&r2=1.3632
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/Wshadow-2.c.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/Wold-style-definition-1.c.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/builtins-30.c.diff?cvsroot=gcc&r1=1.3&r2=1.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/decl-5.c.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/local1.c.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/redecl-1.c.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/unused-4.c.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/noncompile/incomplete-3.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/noncompile/undeclared-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/noncompile/label-1.c.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/noncompile/label-lineno-1.c.diff?cvsroot=gcc&r1=1.3&r2=1.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/objc.dg/naming-1.m.diff?cvsroot=gcc&r1=1.2&r2=1.3
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (19 preceding siblings ...)
2004-03-23 23:48 ` cvs-commit at gcc dot gnu dot org
@ 2004-03-23 23:51 ` zack at gcc dot gnu dot org
2004-06-01 4:23 ` zack at gcc dot gnu dot org
2004-06-12 22:12 ` mmitchel at gcc dot gnu dot org
22 siblings, 0 replies; 24+ messages in thread
From: zack at gcc dot gnu dot org @ 2004-03-23 23:51 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From zack at gcc dot gnu dot org 2004-03-23 23:51 -------
fixed in 3.5
--
What |Removed |Added
----------------------------------------------------------------------------
Known to work|3.3 |3.3 3.5.0
Summary|[3.4/3.5 regression] |[3.4 regression] function-
|function-at-a-time generates|at-a-time generates stabs in
|stabs in bad order |bad order
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (20 preceding siblings ...)
2004-03-23 23:51 ` [Bug debug/12267] [3.4 " zack at gcc dot gnu dot org
@ 2004-06-01 4:23 ` zack at gcc dot gnu dot org
2004-06-12 22:12 ` mmitchel at gcc dot gnu dot org
22 siblings, 0 replies; 24+ messages in thread
From: zack at gcc dot gnu dot org @ 2004-06-01 4:23 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From zack at gcc dot gnu dot org 2004-06-01 04:23 -------
This patch would require backporting the c-decl.c rewrite to fix. I am
suspending all such bugs until we decide whether or not to do that.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |SUSPENDED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug debug/12267] [3.4 regression] function-at-a-time generates stabs in bad order
2003-09-12 18:50 [Bug debug/12267] New: [3.4 regression] function-at-a-time generates stabs in bad order mec at shout dot net
` (21 preceding siblings ...)
2004-06-01 4:23 ` zack at gcc dot gnu dot org
@ 2004-06-12 22:12 ` mmitchel at gcc dot gnu dot org
22 siblings, 0 replies; 24+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-06-12 22:12 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-06-12 22:12 -------
Fixed in GCC 3.5.0, won't fix in 3.4.x.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|SUSPENDED |RESOLVED
Resolution| |FIXED
Target Milestone|3.4.1 |3.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12267
^ permalink raw reply [flat|nested] 24+ messages in thread