public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: c++/6074 is a regression from 2.95
@ 2002-10-25 10:40 Jan Vroonhof
  2002-10-25 13:35 ` Wolfgang Bangerth
  2002-10-25 15:28 ` Mark Mitchell
  0 siblings, 2 replies; 10+ messages in thread
From: Jan Vroonhof @ 2002-10-25 10:40 UTC (permalink / raw)
  To: Nathan Sidwell; +Cc: gcc, Wolfgang Bangerth


[This is a hand crafted reply based on the mailing list archive]

 > If you want to, see if you can track down the patch which fixed it. I'm
 > fairly certain this bug report has popped up more than once,

Yes, I even used a patch included in one of them to "fix" it on 3.2. I
found it through one of the eCos lists. I can't find back to
though. Maybe it was from a message on gcc-patches?

I still have the GCC tree for that though. I have attached the diff at
the end.

6930 is a definite duplicate

 > indicating
 > real code contains such stuff.

This code is used in the eCos C library (which is built using C++)
.There is a work around on the eCos side as well, but AFAIK that is
not in the eCos CVS.

Jan

cvs server: Diffing .
Index: decl.c
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/cp/decl.c,v
retrieving revision 1.866.2.36.2.2
diff -u -u -r1.866.2.36.2.2 decl.c
--- decl.c	6 Oct 2002 23:02:09 -0000	1.866.2.36.2.2
+++ decl.c	25 Oct 2002 10:26:05 -0000
@@ -3500,7 +3500,6 @@
      except for any that we copy here from the old type.  */
   DECL_ATTRIBUTES (newdecl)
     = (*targetm.merge_decl_attributes) (olddecl, newdecl);
-  decl_attributes (&newdecl, DECL_ATTRIBUTES (newdecl), 0);
 
   if (TREE_CODE (newdecl) == TEMPLATE_DECL)
     {

^ permalink raw reply	[flat|nested] 10+ messages in thread
* c++/6074 is a regression from 2.95
@ 2002-10-25  7:37 Wolfgang Bangerth
  2002-10-25 10:24 ` Nathan Sidwell
  0 siblings, 1 reply; 10+ messages in thread
From: Wolfgang Bangerth @ 2002-10-25  7:37 UTC (permalink / raw)
  To: gcc


c++/6074 is about the following:
--------------------------------------
extern
void foo(void);
void foo(void) __attribute__ ((weak)) __attribute__ ((alias ("__foo")));
--------------------------------------

In 2.95 and present 3.3 CVS, this is accepted by both the C and C++ 
compilers. In 3.2, C++ rejects this:
    weak.cc:3: `void foo()' defined both normally and as an alias
The C compiler accepts it.

Technically, this is a regression, but a very weak (pun intended) one. 
Since it's already fixed in 3.3, I'll leave it up to others whether this 
merits fixing, or what else should happen to this report.

Regards
  Wolfgang

-------------------------------------------------------------------------
Wolfgang Bangerth              email:           bangerth@ticam.utexas.edu
                               www: http://www.ticam.utexas.edu/~bangerth


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2002-10-25 22:40 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-25 10:40 c++/6074 is a regression from 2.95 Jan Vroonhof
2002-10-25 13:35 ` Wolfgang Bangerth
2002-10-25 15:38   ` Jim Wilson
2002-10-25 17:34     ` Mark Mitchell
2002-10-25 20:27       ` Jim Wilson
2002-10-25 22:08         ` Mark Mitchell
2002-10-25 15:28 ` Mark Mitchell
2002-10-25 17:44   ` Nathan Sidwell
  -- strict thread matches above, loose matches on Subject: below --
2002-10-25  7:37 Wolfgang Bangerth
2002-10-25 10:24 ` Nathan Sidwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).