class.c (finish_base_struct): Allow multiple COM base classes as well as non-COM bases as long as it's not...

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.

From-SVN: r30901
This commit is contained in:
Mumit Khan 1999-12-14 07:00:22 +00:00 committed by Mumit Khan
parent 9b0b6c5118
commit 5574ac398a
2 changed files with 8 additions and 6 deletions

View 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> 1999-12-13 Mumit Khan <khan@xraylith.wisc.edu>
* lex.c (saving_parse_to_obstack): New global. * lex.c (saving_parse_to_obstack): New global.

View File

@ -1569,14 +1569,11 @@ finish_base_struct (t, b)
if (CLASSTYPE_COM_INTERFACE (basetype)) if (CLASSTYPE_COM_INTERFACE (basetype))
{ {
CLASSTYPE_COM_INTERFACE (t) = 1; 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) else if (CLASSTYPE_COM_INTERFACE (t) && i == 0)
{ {
cp_error ("COM interface type `%T' with non-COM base class `%T'", cp_error
("COM interface type `%T' with non-COM leftmost base class `%T'",
t, basetype); t, basetype);
CLASSTYPE_COM_INTERFACE (t) = 0; CLASSTYPE_COM_INTERFACE (t) = 0;
} }