1999-12-14 Mumit Khan <khan@xraylith.wisc.edu>
authorkhan <khan@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Dec 1999 07:00:22 +0000 (07:00 +0000)
committerkhan <khan@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Dec 1999 07:00:22 +0000 (07:00 +0000)
* class.c (finish_base_struct): Allow multiple COM base classes
as well as non-COM bases as long as it's not the leftmost.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30901 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/class.c

index 7f5425e..221dbd4 100644 (file)
@@ -1,3 +1,8 @@
+1999-12-14  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * class.c (finish_base_struct): Allow multiple COM base classes
+       as well as non-COM bases as long as it's not the leftmost.
+
 1999-12-13  Mumit Khan  <khan@xraylith.wisc.edu>
 
        * lex.c (saving_parse_to_obstack): New global.
index 7d2965d..60132b5 100644 (file)
@@ -1569,15 +1569,12 @@ finish_base_struct (t, b)
       if (CLASSTYPE_COM_INTERFACE (basetype))
        {
          CLASSTYPE_COM_INTERFACE (t) = 1;
-         if (i > 0)
-           cp_error
-             ("COM interface type `%T' must be the leftmost base class",
-              basetype);
        }
       else if (CLASSTYPE_COM_INTERFACE (t) && i == 0)
        {
-         cp_error ("COM interface type `%T' with non-COM base class `%T'",
-                   t, basetype);
+         cp_error 
+           ("COM interface type `%T' with non-COM leftmost base class `%T'",
+            t, basetype);
          CLASSTYPE_COM_INTERFACE (t) = 0;
        }