llvm-project/bolt/test/Inputs/jump_table_icp.cpp
Amir Ayupov da766cea56 [BOLT][TEST] Fix testing on macos
- Fix common (arch-independent) tests to explicitly target -linux triple.
- Override the triple inside arch-specific tests.
- Add cflags to common tests.
- Update individual tests.
- Expand pipe stderr `|&` shorthand.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D125548
2022-05-13 13:03:47 -07:00

38 lines
795 B
C++

#include "stub.h"
int total = 0;
int inc(int x) {
switch (x) {
case 0: total += 1 + 0; return 1;
case 1: total += 1 + 1; return 2;
case 2: total += 1 + 2; return 3;
case 3: total += 1 + 3; return 4;
case 4: total += 1 + 4; return 5;
case 5: total += 1 + 5; return 6;
default: return x + 1;
}
}
int inc_dup(int x) {
switch (x) {
case 0: total += 2 + 0; return 1;
case 1: total += 2 + 1; return 2;
case 2: total += 2 + 2; return 3;
case 3: total += 2 + 3; return 4;
case 4: total += 2 + 4; return 5;
case 5: total += 2 + 5; return 6;
default: return x + 1;
}
}
int main() {
int c = 0;
for (int i = 0; i < 10000000; ++i) {
int a = rand() % 7;
int b = rand() % 7;
c += inc(a) - 2*inc_dup(b);
}
return c == 0;
}