1 | // RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s |
2 | |
3 | void f() { |
4 | int b; |
5 | int arr[] = {1, 2, 3}; |
6 | |
7 | if (bool b = true) // expected-note 2{{previous definition}} |
8 | bool b; // expected-error {{redefinition}} |
9 | else |
10 | int b; // expected-error {{redefinition}} |
11 | while (bool b = true) // expected-note {{previous definition}} |
12 | int b; // expected-error {{redefinition}} |
13 | for (int c; // expected-note 2{{previous definition}} |
14 | bool c = true;) // expected-error {{redefinition}} |
15 | double c; // expected-error {{redefinition}} |
16 | switch (int n = 37 + 5) // expected-note {{previous definition}} |
17 | int n; // expected-error {{redefinition}} |
18 | for (int a : arr) // expected-note {{previous definition}} |
19 | int a = 0; // expected-error {{redefinition}} |
20 | |
21 | if (bool b = true) { // expected-note 2{{previous definition}} |
22 | int b; // expected-error {{redefinition}} |
23 | } else { |
24 | int b; // expected-error {{redefinition}} |
25 | } |
26 | while (bool b = true) { // expected-note {{previous definition}} |
27 | int b; // expected-error {{redefinition}} |
28 | } |
29 | for (int c; // expected-note 2{{previous definition}} |
30 | bool c = true;) { // expected-error {{redefinition}} |
31 | double c; // expected-error {{redefinition}} |
32 | } |
33 | switch (int n = 37 + 5) { // expected-note {{previous definition}} |
34 | int n; // expected-error {{redefinition}} |
35 | } |
36 | for (int &a : arr) { // expected-note {{previous definition}} |
37 | int a = 0; // expected-error {{redefinition}} |
38 | } |
39 | |
40 | if (bool b = true) {{ // expected-note {{previous definition}} |
41 | bool b; |
42 | }} else { |
43 | int b; // expected-error {{redefinition}} |
44 | } |
45 | if (bool b = true) { // expected-note {{previous definition}} |
46 | bool b; // expected-error {{redefinition}} |
47 | } else {{ |
48 | int b; |
49 | }} |
50 | if (bool b = true) {{ |
51 | bool b; |
52 | }} else {{ |
53 | int b; |
54 | }} |
55 | while (bool b = true) {{ |
56 | int b; |
57 | }} |
58 | for (int c; // expected-note {{previous definition}} |
59 | bool c = true; ) {{ // expected-error {{redefinition}} |
60 | double c; |
61 | }} |
62 | switch (int n = 37 + 5) {{ |
63 | int n; |
64 | }} |
65 | for (int &a : arr) {{ |
66 | int a = 0; |
67 | }} |
68 | } |
69 | |