[cfe-commits] r55082 - in /cfe/trunk: lib/Parse/ParseExpr.cpp test/Parser/recovery-3.c
Eli Friedman
eli.friedman at gmail.com
Wed Aug 20 15:07:38 PDT 2008
Author: efriedma
Date: Wed Aug 20 17:07:34 2008
New Revision: 55082
URL: http://llvm.org/viewvc/llvm-project?rev=55082&view=rev
Log:
Fix a minor crash-on-invalid.
Added:
cfe/trunk/test/Parser/recovery-3.c
Modified:
cfe/trunk/lib/Parse/ParseExpr.cpp
Modified: cfe/trunk/lib/Parse/ParseExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseExpr.cpp?rev=55082&r1=55081&r2=55082&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseExpr.cpp (original)
+++ cfe/trunk/lib/Parse/ParseExpr.cpp Wed Aug 20 17:07:34 2008
@@ -742,7 +742,7 @@
ExprResult Expr = ParseAssignmentExpression();
if (Expr.isInvalid) {
SkipUntil(tok::r_paren);
- return Res;
+ return ExprResult(true);
}
if (ExpectAndConsume(tok::comma, diag::err_expected_comma, "",tok::r_paren))
Added: cfe/trunk/test/Parser/recovery-3.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/recovery-3.c?rev=55082&view=auto
==============================================================================
--- cfe/trunk/test/Parser/recovery-3.c (added)
+++ cfe/trunk/test/Parser/recovery-3.c Wed Aug 20 17:07:34 2008
@@ -0,0 +1,9 @@
+// RUN: clang -fsyntax-only -verify -pedantic %s
+
+// Testcase derived from PR2692
+static char *f (char * (*g) (char **, int), char **p, ...) {
+ char *s;
+ va_list v; // expected-error {{identifier}}
+ s = g (p, __builtin_va_arg(v, int)); // expected-error {{identifier}} expected-warning {{extension}}
+}
+
More information about the cfe-commits
mailing list