]> granicus.if.org Git - clang/commit
fix PR6811 by not parsing 'super' as a magic expression in
authorChris Lattner <sabre@nondot.org>
Sun, 11 Apr 2010 08:28:14 +0000 (08:28 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 11 Apr 2010 08:28:14 +0000 (08:28 +0000)
commiteb483eb3ee80300f15d6d13573d82493c2194461
tree078dcf9ecb27f1e68127f7d995d9ee87a5f71812
parentb9d4fc1f54924a7b242fb763192a40c19fa6103d
fix PR6811 by not parsing 'super' as a magic expression in
LookupInObjCMethod.  Doing so allows all sorts of invalid code
to slip through to codegen.  This patch does not change the
AST representation of super, though that would now be a natural
thing to do since it can only be in the receiver position and
in the base of a ObjCPropertyRefExpr.

There are still several ugly areas handling super in the parser,
but this is definitely a step in the right direction.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100959 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/clang/Basic/DiagnosticParseKinds.td
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Parse/Action.h
include/clang/Parse/Parser.h
lib/Parse/ParseExpr.cpp
lib/Parse/ParseInit.cpp
lib/Parse/ParseObjc.cpp
lib/Sema/Sema.h
lib/Sema/SemaExpr.cpp
lib/Sema/SemaExprObjC.cpp
test/Parser/objc-quirks.m
test/SemaObjC/call-super-2.m
test/SemaObjC/super.m