From: Douglas Gregor Date: Wed, 26 Nov 2008 06:43:45 +0000 (+0000) Subject: Fix a minor typo in the handling of the conditional operator for Objective-C interfac... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7ffd0defb993f82449afb18bb85a734e4b1bc308;p=clang Fix a minor typo in the handling of the conditional operator for Objective-C interface pointers git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60096 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index a13bcbab62..b22ae7d1f2 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -1644,7 +1644,7 @@ inline QualType Sema::CheckConditionalOperands( // C99 6.5.15 Context.canAssignObjCInterfaces(LHSIface, RHSIface)) { compositeType = lexT; } else if (LHSIface && RHSIface && - Context.canAssignObjCInterfaces(LHSIface, RHSIface)) { + Context.canAssignObjCInterfaces(RHSIface, LHSIface)) { compositeType = rexT; } else if (Context.isObjCIdType(lhptee) || Context.isObjCIdType(rhptee)) { diff --git a/test/SemaObjC/conditional-expr-3.m b/test/SemaObjC/conditional-expr-3.m index f5b04339e8..eb313df029 100644 --- a/test/SemaObjC/conditional-expr-3.m +++ b/test/SemaObjC/conditional-expr-3.m @@ -61,3 +61,7 @@ void f9(int cond, id x0, id x1) { void f10(int cond, id x0, id x1) { barP2(cond ? x0 : x1); } + +int f11(int cond, A* a, B* b) { + return (cond? b : a)->x; // expected-error{{'A' does not have a member named 'x'}} +} \ No newline at end of file