69 lines · cpp
1// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s2 3void 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 else10 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