| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // RUN: %clang_cc1 -std=c++11 -fsyntax-only -fcxx-exceptions -fexceptions -verify %s
- void func1(int i) { // expected-note{{previous definition is here}}
- int i; // expected-error{{redefinition of 'i'}}
- }
- void func2(int i) try { // expected-note{{previous definition is here}}
- int i; // expected-error{{redefinition of 'i'}}
- } catch (...) {
- }
- void func3(int i) try { // expected-note {{previous definition is here}}
- } catch (int i) { // expected-error {{redefinition of 'i'}}
- }
- void func4(int i) try { // expected-note{{previous definition is here}}
- } catch (...) {
- int i; // expected-error{{redefinition of 'i'}}
- }
- void func5() try {
- int i;
- } catch (...) {
- int j = i; // expected-error{{use of undeclared identifier 'i'}}
- }
- void func6() try {
- } catch (int i) { // expected-note{{previous definition is here}}
- int i; // expected-error{{redefinition of 'i'}}
- }
- void func7() {
- try {
- } catch (int i) { // expected-note{{previous definition is here}}
- int i; // expected-error{{redefinition of 'i'}}
- }
- }
- void func8() {
- int i;
- try {
- int i;
- } catch (...) {
- }
- }
- void func9() {
- if (bool b = true)
- try {
- int b; // FIXME: this probably should be invalid, maybe
- } catch (...) {
- }
- }
- void func10() {
- if (bool b = true)
- if (true) {
- int b; // FIXME: decide whether this is valid
- }
- }
- void func11(int a) {
- try {
- } catch (int a) { // OK
- }
- }
|