diff --git a/clang/lib/Sema/SemaExprObjC.cpp b/clang/lib/Sema/SemaExprObjC.cpp index 108ff3c21e07..d833efe309ef 100644 --- a/clang/lib/Sema/SemaExprObjC.cpp +++ b/clang/lib/Sema/SemaExprObjC.cpp @@ -339,6 +339,8 @@ static bool ClassImplementsProtocol(ObjCProtocolDecl *lProto, // In gcc, it is also allowed assigning a protocol-qualified 'id' // type to a LHS object when protocol in qualified LHS is in list // of protocols in the rhs 'id' object. This IMO, should be a bug. + // FIXME: Treat this as an extension, and flag this as an error when + // GCC extensions are not enabled. else if (RHSIsQualifiedID && ProtocolCompatibleWithProtocol(protoList[i], lProto)) return true; diff --git a/clang/test/Sema/objc-comptypes-9.m b/clang/test/Sema/objc-comptypes-9.m index 0358fc39d0ea..4f0a277e74e1 100644 --- a/clang/test/Sema/objc-comptypes-9.m +++ b/clang/test/Sema/objc-comptypes-9.m @@ -1,4 +1,6 @@ // RUN: clang -fsyntax-only %s +// FIXME: This test case tests the patch applied in: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20080602/006017.html +// Eventually that logic should be treated as an extension. typedef signed char BOOL; typedef int NSInteger;