This is the mail archive of the gcc-patches@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]

Re: c++ failures


Gabriel Dos Reis <gdr at integrable-solutions dot net> writes:

| Nathan Sidwell <nathan at codesourcery dot com> writes:
| 
| | Gabriel Dos Reis wrote:
| | 
| | > Within that window, there is also this patch of Mark's
| | >   2003-02-25  Mark Mitchell  <mark at codesourcery dot com>
| | > And given the nature of the errors on mainline:
| | yes, that was my initial suspicion. but with cvs update -D'20030226 00:00'
| | Mark's patch hadn't got into the changelog. Oh, yes this is HEAD btw. I'll
| | have a *really careful* poke today.
| | 
| | I apologize if I have erroneously finger pointed.
| 
| No need to apologize!
| 
| I bootstrapped and tested mainline as of -D'20030225 14:00' (which
| does not include my patch) and now the failures are reduced to:
| 
|    FAIL: g++.dg/warn/Wunused-2.C  (test for warnings, line 5)
|    FAIL: g++.dg/warn/implicit-typename1.C  (test for warnings, line 16)
|    FAIL: pch/system-1.C -g assembly comparison
|    FAIL: pch/system-1.C -O2 -g assembly comparison
|    FAIL: g++.eh/spec6.C instantiated from here (test for errors, line 28)
|    FAIL: g++.eh/spec6.C (test for excess errors)
| 
| I'm still investigating why things are going the way they go (the
| patch is simple and straightforward).  If I can't determine the true
| reason by tonight then I'll backup my patch from mainline.


Nathan,

  Applying the patch below (which reverts the patch you mentioned as a
possible cause of the new failures) does *not* remove the failures.

I come to conclude that something else is causing the problem and my
patch isn't likely to be the cause.  Please could you test the patch
below and report the outcome?

Thanks,

-- Gaby

Index: decl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/decl.c,v
retrieving revision 1.1005
diff -p -r1.1005 decl.c
*** decl.c	26 Feb 2003 22:14:24 -0000	1.1005
--- decl.c	28 Feb 2003 19:31:59 -0000
*************** add_binding (tree id, tree decl)
*** 935,941 ****
    tree binding = IDENTIFIER_BINDING (id);
    int ok = 1;
  
-   timevar_push (TV_NAME_LOOKUP);
    if (TREE_CODE (decl) == TYPE_DECL && DECL_ARTIFICIAL (decl))
      /* The new name is the type name.  */
      BINDING_TYPE (binding) = decl;
--- 935,940 ----
*************** add_binding (tree id, tree decl)
*** 992,998 ****
        ok = 0;
      }
  
!   POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, ok);
  }
  
  /* Add DECL to the list of things declared in B.  */
--- 991,997 ----
        ok = 0;
      }
  
!   return ok;
  }
  
  /* Add DECL to the list of things declared in B.  */
*************** push_class_binding (tree id, tree decl)
*** 1072,1078 ****
    tree binding = IDENTIFIER_BINDING (id);
    tree context;
  
-   timevar_push (TV_NAME_LOOKUP);
    /* Note that we declared this value so that we can issue an error if
       this is an invalid redeclaration of a name already used for some
       other purpose.  */
--- 1071,1076 ----
*************** push_class_binding (tree id, tree decl)
*** 1115,1121 ****
         in this class.  */
      INHERITED_VALUE_BINDING_P (binding) = 1;
  
!   POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, result);
  }
  
  /* Remove the binding for DECL which should be the innermost binding
--- 1113,1119 ----
         in this class.  */
      INHERITED_VALUE_BINDING_P (binding) = 1;
  
!   return result;
  }
  
  /* Remove the binding for DECL which should be the innermost binding
*************** set_namespace_binding (tree name, tree s
*** 2116,2122 ****
  {
    tree b;
  
-   timevar_push (TV_NAME_LOOKUP);
    if (scope == NULL_TREE)
      scope = global_namespace;
  
--- 2114,2119 ----
*************** set_namespace_binding (tree name, tree s
*** 2126,2137 ****
        if (b == NULL_TREE || TREE_CODE (b) != CPLUS_BINDING)
  	{
  	  IDENTIFIER_NAMESPACE_BINDINGS (name) = val;
!           POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, (void)0);
  	}
      }
    b = binding_for_name (name, scope);
    BINDING_VALUE (b) = val;
-   timevar_pop (TV_NAME_LOOKUP);
  }
  
  /* Push into the scope of the NAME namespace.  If NAME is NULL_TREE, then we
--- 2123,2133 ----
        if (b == NULL_TREE || TREE_CODE (b) != CPLUS_BINDING)
  	{
  	  IDENTIFIER_NAMESPACE_BINDINGS (name) = val;
!           return;
  	}
      }
    b = binding_for_name (name, scope);
    BINDING_VALUE (b) = val;
  }
  
  /* Push into the scope of the NAME namespace.  If NAME is NULL_TREE, then we


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