git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98685 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
John McCall 2010-03-16 21:50:59 +00:00
Родитель 8472af4df9
Коммит 9a8cb8d4bd
2 изменённых файлов: 58 добавлений и 0 удалений

20
test/Sema/warn-shadow.c Normal file
Просмотреть файл

@ -0,0 +1,20 @@
// RUN: %clang_cc1 -verify -fsyntax-only -Wshadow %s
int i; // expected-note {{previous declaration is here}}
void foo() {
int pass1;
int i; // expected-warning {{declaration shadows a variable in the global scope}} \
// expected-note {{previous declaration is here}}
{
int pass2;
int i; // expected-warning {{declaration shadows a local variable}} \
// expected-note {{previous declaration is here}}
{
int pass3;
int i; // expected-warning {{declaration shadows a local variable}}
}
}
int __sync_fetch_and_add; // expected-warning {{declaration shadows a global built-in function}}
}

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

@ -0,0 +1,38 @@
// RUN: %clang_cc1 -verify -fsyntax-only -Wshadow %s
namespace {
int i; // expected-note {{previous declaration is here}}
}
namespace one {
namespace two {
int j; // expected-note {{previous declaration is here}}
}
}
namespace xx {
int m;
}
namespace yy {
int m;
}
using namespace one::two;
using namespace xx;
using namespace yy;
void foo() {
int i; // expected-warning {{declaration shadows a variable in namespace '<anonymous>'}}
int j; // expected-warning {{declaration shadows a variable in namespace 'one::two'}}
int m;
}
class A {
static int data; // expected-note {{previous declaration}}
int field; // expected-note {{previous declaration}}
void test() {
char *field; // expected-warning {{declaration shadows a field of 'A'}}
char *data; // expected-warning {{declaration shadows a static data member of 'A'}}
}
};