OSDN Git Service

* decl.c (make_implicit_typename): Lose useless code.
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Mar 1998 21:59:35 +0000 (21:59 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Mar 1998 21:59:35 +0000 (21:59 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18719 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/decl.c

index b70bef1..2169907 100644 (file)
@@ -1,5 +1,7 @@
 Thu Mar 19 11:51:58 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
+       * decl.c (make_implicit_typename): Lose useless code.
+
        * call.c (standard_conversion): Handle A* -> const A* properly.
 
        * pt.c (get_bindings_real): Rename from get_bindings.  Add 
index 09ad59c..98ffff9 100644 (file)
@@ -4575,8 +4575,7 @@ make_typename_type (context, name)
 }
 
 /* Given a TYPE_DECL T looked up in CONTEXT, return a TYPENAME_TYPE
-   where the scope is either CONTEXT or the first base of CONTEXT along the
-   inheritance chain to T that depends on template parameters.
+   where the scope is CONTEXT.  Also remember what type T refers to.
 
    Called from lookup_name_real to implement the implicit typename
    extension.  */
@@ -4585,29 +4584,7 @@ static tree
 make_implicit_typename (context, t)
      tree context, t;
 {
-  tree retval;
-
-  if (TREE_CODE (context) != TYPENAME_TYPE 
-      && uses_template_parms (DECL_CONTEXT (t))
-      && DECL_CONTEXT (t) != context)
-    {
-      tree binfo = get_binfo (DECL_CONTEXT (t), context, 0);
-      while (binfo)
-       {
-         tree next = BINFO_INHERITANCE_CHAIN (binfo);
-         if (! uses_template_parms (BINFO_TYPE (next))
-             || BINFO_TYPE (next) == context)
-           break;
-         binfo = next;
-       }
-      if (binfo)
-       retval = make_typename_type (BINFO_TYPE (binfo), DECL_NAME (t));
-      else
-       /* FIXME: find the enclosing class whose base t comes from.  */
-       retval = make_typename_type (DECL_CONTEXT (t), DECL_NAME (t));
-    }
-  else
-    retval = make_typename_type (context, DECL_NAME (t));
+  tree retval = make_typename_type (context, DECL_NAME (t));
 
   if (TREE_CODE (retval) == TYPENAME_TYPE)
     TREE_TYPE (retval) = TREE_TYPE (t);