This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH Re: Pooma regression in the 3.1 branch


OK, I'm replacing that patch on the branch with this more conservative fix.
Could one of you track down what in the Pooma code is breaking with the old
patch, so we can add it to the testsuite?  Presumably it's a 'typedef
struct { ... } foo __attribute__ ((bar));' construct.

Tested i686-pc-linux-gnu.

2002-05-02  Jason Merrill  <jason@redhat.com>

	* dwarf2out.c (gen_type_die): Don't recurse if TYPE_NAME doesn't
	actually declare this type.
	* cp/decl.c (grokdeclarator): Revert last change.

*** dwarf2out.c.~1~	Thu May  2 13:24:12 2002
--- dwarf2out.c	Tue Apr 30 14:41:36 2002
*************** gen_type_die (type, context_die)
*** 11045,11050 ****
--- 11045,11051 ----
      return;
  
    if (TYPE_NAME (type) && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
+       && TREE_TYPE (TYPE_NAME (type)) == type
        && DECL_ORIGINAL_TYPE (TYPE_NAME (type)))
      {
        TREE_ASM_WRITTEN (type) = 1;
*** cp/decl.c.~1~	Thu May  2 13:24:12 2002
--- cp/decl.c	Thu May  2 23:08:48 2002
*************** grokdeclarator (declarator, declspecs, d
*** 11275,11282 ****
  	  && TYPE_NAME (type)
  	  && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
  	  && TYPE_ANONYMOUS_P (type)
- 	  /* Don't do this if there are attributes.  */
- 	  && (!attrlist || !*attrlist)
  	  && cp_type_quals (type) == TYPE_UNQUALIFIED)
  	{
  	  tree oldname = TYPE_NAME (type);
--- 11275,11280 ----

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]