llvm-project/clang/test/SemaCXX/typo-correction-crash.cpp
Reid Kleckner 4ce625c814 [typo-correction] Apply name specifier corrections when forming a NNS
Previously we would leave behind the old name specifier prefix, which
creates an invalid AST.  Other callers of CorrectTypo update their
CXXScopeSpec objects with the correction specifier if one is present.

llvm-svn: 260993
2016-02-16 19:16:20 +00:00

20 lines
654 B
C++

// RUN: %clang_cc1 -fsyntax-only -std=c++14 -verify %s
auto check1() {
return 1;
return s; // expected-error {{use of undeclared identifier 's'}}
}
int test = 11; // expected-note {{'test' declared here}}
auto check2() {
return "s";
return tes; // expected-error {{use of undeclared identifier 'tes'; did you mean 'test'?}}
}
namespace BarNamespace {
namespace NestedNamespace { // expected-note {{'BarNamespace::NestedNamespace' declared here}}
typedef int type;
}
}
struct FooRecord { };
FooRecord::NestedNamespace::type x; // expected-error {{no member named 'NestedNamespace' in 'FooRecord'; did you mean 'BarNamespace::NestedNamespace'?}}