]> granicus.if.org Git - clang/commitdiff
Fix a crash on a top-level objc string, patch by Nico Weber
authorChris Lattner <sabre@nondot.org>
Thu, 27 Dec 2007 20:29:42 +0000 (20:29 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 27 Dec 2007 20:29:42 +0000 (20:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45370 91177308-0d34-0410-b5e6-96231b3b80d8

Parse/ParseStmt.cpp
test/Parser/expressions.m [new file with mode: 0644]

index 063735196ee6a2a6147e401832f29e3ed6c9950b..80d0b9ece4ed44cdd64cab341e3440e960cbd875 100644 (file)
@@ -87,9 +87,9 @@ Parser::StmtResult Parser::ParseStatementOrDeclaration(bool OnlyStatement) {
   case tok::at: // May be a @try or @throw statement
     {
       AtLoc = ConsumeToken();  // consume @
-      if (Tok.getIdentifierInfo()->getObjCKeywordID() == tok::objc_try)
+      if (Tok.isObjCAtKeyword(tok::objc_try))
         return ParseObjCTryStmt(AtLoc);
-      else if (Tok.getIdentifierInfo()->getObjCKeywordID() == tok::objc_throw)
+      else if (Tok.isObjCAtKeyword(tok::objc_throw))
         return ParseObjCThrowStmt(AtLoc);
       ExprResult Res = ParseExpressionWithLeadingAt(AtLoc);
       if (Res.isInvalid) {
diff --git a/test/Parser/expressions.m b/test/Parser/expressions.m
new file mode 100644 (file)
index 0000000..8e314ac
--- /dev/null
@@ -0,0 +1,6 @@
+// RUN: clang -parse-noop %s
+
+void test1() {
+  @"s";            // expected-warning {{expression result unused}}
+}
+