Bug in 3.0.4 (prerelease) in decl.c:start_method()

Kaveh R. Ghazi ghazi@caip.rutgers.edu
Sun Feb 17 09:53:00 GMT 2002

I noticed this new warning, since 3.0.3, in the 3.0.4 prerelease:

 > cp/decl.c:14147: warning: passing arg 1 of `cplus_decl_attributes'
 > 	from incompatible pointer type

I think it may indicate a latent bug because in fact on the 3.0 branch
cplus_decl_attributes is expecting a tree and gets passed a tree*.

I suspect the reason for this is that the patch which introduced this
was imported from the trunk where cplus_decl_attributes does in fact
expect a tree*.

I haven't had time to test this fix, other than to make sure it makes
the warning go away.  But I wanted you to be aware of this since 3.0.4
is due.  I'll do a full regtest in the mean time and let you know how
it goes.

Ok to install assuming no regressions?


PS: I wonder why the code in PR907 (which was the genesis for this)
doesn't generate a tree checking failure somewhere.  Someone who
understands this bit better should examine the resulting code to make
sure the issues in PR907 are being addressed and/or create a suitable

2002-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* decl.c (start_method): Fix error in last change.

--- egcc-3.0-CVS20020216/gcc/cp/decl.c~	Wed Feb 13 16:38:31 2002
+++ egcc-3.0-CVS20020216/gcc/cp/decl.c	Sun Feb 17 11:28:48 2002
@@ -14144,7 +14144,7 @@ start_method (declspecs, declarator, att
     return NULL_TREE;
   if (attrlist)
-    cplus_decl_attributes (&fndecl, attrlist, 0);
+    cplus_decl_attributes (fndecl, attrlist, 0);
   /* Pass friends other than inline friend functions back.  */
   if (fndecl == void_type_node)

More information about the Gcc-bugs mailing list