llvm-project/clang/test/Parser/cxx-invalid-for-range.cpp
Denis Zobnin 7d6b924df8 PR23057: Fix assertion `Val && "isa<> used on a null pointer"' on invalid for-range expression.
Fix the issue discovered by fuzzing (PR23057, comment 18) by handling nullptr in Sema::ActOnCXXForRangeDecl 
and correct delayed typos in for-range expression before calling Sema::ActOnCXXForRangeStmt. Also fixes PR26288.

Differential Revision: http://reviews.llvm.org/D16630

llvm-svn: 259532
2016-02-02 17:33:09 +00:00

19 lines
737 B
C++

// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
// From PR23057 comment #18 (https://llvm.org/bugs/show_bug.cgi?id=23057#c18).
namespace N {
int X[10]; // expected-note{{declared here}}}}
}
void f1() {
for (auto operator new : X); // expected-error{{'operator new' cannot be the name of a variable or data member}}
// expected-error@-1{{use of undeclared identifier 'X'; did you mean 'N::X'?}}
}
void f2() {
for (a operator== :) // expected-error{{'operator==' cannot be the name of a variable or data member}}
// expected-error@-1{{expected expression}}
// expected-error@-2{{unknown type name 'a'}}
} // expected-error{{expected statement}}