gmqcc/tests/noreturn.qc

31 lines
550 B
C++
Raw Normal View History

2012-12-20 11:00:39 +00:00
#ifndef NORETURN
#define NORETURN [[noreturn]]
2012-12-20 11:00:39 +00:00
#endif
void (...) print = #1;
string (float val) ftos = #2;
2012-12-20 11:00:39 +00:00
NORETURN void error(...) = #6;
#if TEST == 1
void test1(float a) {
float x;
if (a == 1) x = 1337;
else if (a == 2) x = 1338;
else
error("Error\n");
print("Is this initialized: ", ftos(x), "\n");
}
#else
float test2(float it) {
switch (it) {
case 1: return 0;
case 2: return 1;
default: error("End of non-void not reachable...\n");
}
}
#endif