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