12 static volatile uint64_t
sink;
14 extern "C" __attribute__((noinline))
void stress_try_marker(uint64_t i) {
15 __asm__ __volatile__(
"" :::
"memory");
sink ^= i;
17 extern "C" __attribute__((noinline))
void stress_catch_marker(uint64_t i) {
18 __asm__ __volatile__(
"" :::
"memory");
sink ^= i << 8;
21 static void thrower(uint64_t v) {
throw v; }
23 int main(
int argc,
char** argv) {
24 (void)argc; (void)argv;
26 for (uint64_t i = 0; i <
ITERS; ++i) {
30 }
catch (uint64_t v) {
31 stress_catch_marker(i);
36 fprintf(stderr,
"exc_stress_loop: iters=%d sum=%llu\n",
ITERS,
37 (
unsigned long long)sum);
38 return sum == (uint64_t)
ITERS * (
ITERS - 1) / 2 * 3 ? 0 : 1;
static void thrower(uint64_t v)
int main(int argc, char **argv)
__attribute__((noinline)) void stress_try_marker(uint64_t i)
static volatile uint64_t sink