From f75963f54ea68ff43a0f526dccac8c4310014df3 Mon Sep 17 00:00:00 2001 From: Ziemowit Laski Date: Wed, 24 Mar 2004 19:53:04 +0000 Subject: [PATCH] objc-act.c (objc_comptypes): Treat comparisons between 'Class' and ' *' as explicitly invalid. [gcc/ChangeLog] 2004-03-24 Ziemowit Laski * objc/objc-act.c (objc_comptypes): Treat comparisons between 'Class' and ' *' as explicitly invalid. From-SVN: r79928 --- gcc/ChangeLog | 5 +++++ gcc/objc/objc-act.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 74128018385..04430b31c03 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-03-24 Ziemowit Laski + + * objc/objc-act.c (objc_comptypes): Treat comparisons + between 'Class' and ' *' as explicitly invalid. + 2004-03-24 David Edelsohn * doc/invoke.texi (-frename-registers: Add enabled at -O3. diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 89abaf4c198..22696cb519e 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -904,6 +904,11 @@ objc_comptypes (tree lhs, tree rhs, int reflexive) && OBJC_TYPE_NAME (rhs) == objc_object_id)) return 1; + /* `Class' != ` *' && ` *' != `Class'! */ + else if ((OBJC_TYPE_NAME (lhs) == objc_class_id && TYPED_OBJECT (rhs)) + || (OBJC_TYPE_NAME (rhs) == objc_class_id && TYPED_OBJECT (lhs))) + return 0; + /* ` *' = ` *' */ else if (TYPED_OBJECT (lhs) && TYPED_OBJECT (rhs)) -- 2.30.2