blob: ae53f26e37cb4ce225c7ffed1a2fa84af366940a [file] [log] [blame]
/* APPLE LOCAL file 6205688 */
/* { dg-do run } */
#include <stdio.h>
void fn2(int i) __attribute__((noinline));
void fn2(int i) {
printf("fn2 %d\n", i);
}
int fn3(int i) __attribute__((noinline));
int fn3(int i) {
if (i) return i+1;
else throw 1;
}
void fn(int i) __attribute__((noinline));
void fn(int i) {
if (i) {
fn2(i);
} else {
int j = fn3(i);
printf("j %d\n", j);
}
}
volatile int arg = 0;
int main(int argc, char **argv) {
try {
fn(arg);
} catch (int e) {
printf("caught %d\n", e);
}
return 0;
}