Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / native_client / tests / toolchain / eh_loop_many.cc
1 /*
2  * Copyright 2010 The Native Client Authors. All rights reserved.
3  * Use of this source code is governed by a BSD-style license that can be
4  * found in the LICENSE file.
5  */
6
7 #include "native_client/tests/toolchain/eh_helper.h"
8
9 int N = 10;
10 /* We call next_step 4x per iteration */
11 int STRIDE = 4;
12
13 int main() {
14   int i = 1;
15   next_step(1);
16   for (i = 0; i < N; ++i) {
17     printf("iteration: %d\n", i);
18     next_step(2 + i * STRIDE);
19     try {
20       next_step(3 + i * STRIDE);
21       throw(666 + i);
22       abort();
23     } catch(int x) {
24       if (x != 666 + i) abort();
25       next_step(4 + i * STRIDE);
26     }
27     next_step(5 + i * STRIDE);
28   }
29
30   next_step(2 + N * STRIDE);
31   return 55;
32 }