warn-shadow.c revision c48c916b8cebba954429715f15bd5b5e8e4d4574
1// RUN: %clang_cc1 -verify -fsyntax-only -Wshadow %s
2
3int i;          // expected-note {{previous declaration is here}}
4
5void foo() {
6  int pass1;
7  int i;        // expected-warning {{declaration shadows a variable in the global scope}} \
8                // expected-note {{previous declaration is here}}
9  {
10    int pass2;
11    int i;      // expected-warning {{declaration shadows a local variable}} \
12                // expected-note {{previous declaration is here}}
13    {
14      int pass3;
15      int i;    // expected-warning {{declaration shadows a local variable}}
16    }
17  }
18
19  int sin; // okay; 'sin' has not been declared, even though it's a builtin.
20}
21