brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · c2fa0a4 Raw
69 lines · cpp
1// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -fsyntax-only -verify %s2 3void f1()4{5  try {6    ;7  } catch(int i) {8    ;9  } catch(...) {10  }11}12 13void f2()14{15  try; // expected-error {{expected '{'}}16 17  try {}18  catch; // expected-error {{expected '('}}19 20  try {}21  catch (...); // expected-error {{expected '{'}}22 23  try {}24  catch {} // expected-error {{expected '('}}25}26 27void f3() try {28} catch(...) {29}30 31struct A {32  int i;33  A(int);34  A(char);35  A() try : i(0) {} catch(...) {}36  void f() try {} catch(...) {}37  A(float) : i(0) try {} // expected-error {{expected '{' or ','}}38};39 40A::A(char) : i(0) try {} // expected-error {{expected '{' or ','}}41A::A(int j) try : i(j) {} catch(...) {}42 43 44 45// PR574046struct Type { };47 48enum { Type } Kind;49void f4() {50  int i = 0;51  switch (Kind) {52    case Type: i = 7; break;  // no error.53  }54}55 56// PR550057void f5() {58  asm volatile ("":: :"memory");59  asm volatile ("": ::"memory");60}61 62int f6() {63  int k, // expected-note {{change this ',' to a ';' to call 'f6'}}64  f6(), // expected-error {{expected ';'}} expected-warning {{interpreted as a function declaration}} expected-note {{replace paren}}65  int n = 0, // expected-error {{expected ';'}}66  return f5(), // ok67  int(n);68}69