Patch to fix a crash on incomplete class declaration.

Radar 7923673.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103812 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Fariborz Jahanian 2010-05-14 21:35:02 +00:00
Родитель 69cfeb1036
Коммит 4fb20533ba
2 изменённых файлов: 13 добавлений и 3 удалений

Просмотреть файл

@ -5329,9 +5329,13 @@ CreateNewDecl:
// Maybe add qualifier info.
if (SS.isNotEmpty()) {
NestedNameSpecifier *NNS
= static_cast<NestedNameSpecifier*>(SS.getScopeRep());
New->setQualifierInfo(NNS, SS.getRange());
if (SS.isSet()) {
NestedNameSpecifier *NNS
= static_cast<NestedNameSpecifier*>(SS.getScopeRep());
New->setQualifierInfo(NNS, SS.getRange());
}
else
Invalid = true;
}
if (Kind != TTK_Enum) {

Просмотреть файл

@ -0,0 +1,6 @@
// RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s
class Foo::Bar { // expected-error {{use of undeclared identifier 'Foo'}} \
// expected-note {{to match this '{'}} \
// expected-error {{expected ';' after class}}
// expected-error {{expected '}'}}