From 71e6ca26d5515fff3aca8664c01b578020e64931 Mon Sep 17 00:00:00 2001 From: David Given Date: Wed, 16 Nov 2016 20:56:45 +0100 Subject: [PATCH] Add another test. --- plat/qemuppc/tests/intadd.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 plat/qemuppc/tests/intadd.c diff --git a/plat/qemuppc/tests/intadd.c b/plat/qemuppc/tests/intadd.c new file mode 100644 index 000000000..8e4868a62 --- /dev/null +++ b/plat/qemuppc/tests/intadd.c @@ -0,0 +1,31 @@ +#include "test.h" + +/* Constants in globals to defeat constant folding. */ +int two = 2; +int one = 1; +int zero = 0; +int minusone = -1; + +/* Bypasses the CRT, so there's no stdio or BSS initialisation. */ +void _m_a_i_n(void) +{ + ASSERT((two + one) == 3); + ASSERT((two + minusone) == 1); + + ASSERT((two + 1) == 3); + ASSERT((two + -1) == 1); + + ASSERT((1 + two) == 3); + ASSERT((-1 + two) == 1); + + ASSERT(((unsigned int)two + (unsigned int)one) == 3); + ASSERT(((unsigned int)two + (unsigned int)minusone) == 1); + + ASSERT(((unsigned int)two + (unsigned int) 1) == 3); + ASSERT(((unsigned int)two + (unsigned int)-1) == 1); + + ASSERT(((unsigned int)1 + (unsigned int)two) == 3); + ASSERT(((unsigned int)-1 + (unsigned int)two) == 1); + + finished(); +} \ No newline at end of file