| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- // RUN: %clang_cc1 -fcxx-exceptions -fexceptions -fsyntax-only -verify %s
- void f1()
- {
- try {
- ;
- } catch(int i) {
- ;
- } catch(...) {
- }
- }
- void f2()
- {
- try; // expected-error {{expected '{'}}
- try {}
- catch; // expected-error {{expected '('}}
- try {}
- catch (...); // expected-error {{expected '{'}}
- try {}
- catch {} // expected-error {{expected '('}}
- }
- void f3() try {
- } catch(...) {
- }
- struct A {
- int i;
- A(int);
- A(char);
- A() try : i(0) {} catch(...) {}
- void f() try {} catch(...) {}
- A(float) : i(0) try {} // expected-error {{expected '{' or ','}}
- };
- A::A(char) : i(0) try {} // expected-error {{expected '{' or ','}}
- A::A(int j) try : i(j) {} catch(...) {}
- // PR5740
- struct Type { };
- enum { Type } Kind;
- void f4() {
- int i = 0;
- switch (Kind) {
- case Type: i = 7; break; // no error.
- }
- }
- // PR5500
- void f5() {
- asm volatile ("":: :"memory");
- asm volatile ("": ::"memory");
- }
- int f6() {
- int k, // expected-note {{change this ',' to a ';' to call 'f6'}}
- f6(), // expected-error {{expected ';'}} expected-warning {{interpreted as a function declaration}} expected-note {{replace paren}}
- int n = 0, // expected-error {{expected ';'}}
- return f5(), // ok
- int(n);
- }
|