0db9f4dad563a335641f5b9d4a42504d638b6c85 |
|
17-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
In Parser::SkipUntil do not stop at '@' unconditionally. Stopping at '@' was originally intended to avoid skipping an '@' at the @interface context when doing parser recovery, but we should not stop at all '@' tokens because they may be part of expressions (e.g. in @"string", @selector(), etc.), so in most cases we will want to skip them. This commit caused 'test/Parser/method-def-in-class.m' to fail for the cases where we tried to recover from unmatched angle bracket but IMO it is not a big deal to not have good recovery from such broken code and the way we did recovery would not always work anyway (e.g. if there was '@' in an expression). The case that rdar://7029784 is about still passes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Parser/method-def-in-class.m
|