[rtems commit] sptests/spatomic01/init.c: Avoid integer overflow
Joel Sherril
joel at rtems.org
Tue Mar 24 13:18:11 UTC 2015
Module: rtems
Branch: master
Commit: c6ef8708c308c2f827b435a3b67779a388660594
Changeset: http://git.rtems.org/rtems/commit/?id=c6ef8708c308c2f827b435a3b67779a388660594
Author: Joel Sherrill <joel.sherrill at oarcorp.com>
Date: Fri Mar 20 10:48:32 2015 -0500
sptests/spatomic01/init.c: Avoid integer overflow
---
testsuites/sptests/spatomic01/init.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/testsuites/sptests/spatomic01/init.c b/testsuites/sptests/spatomic01/init.c
index f98c550..fbfd071 100644
--- a/testsuites/sptests/spatomic01/init.c
+++ b/testsuites/sptests/spatomic01/init.c
@@ -35,13 +35,16 @@ static test_context test_instance;
static void test_static_and_dynamic_initialization(void)
{
- static Atomic_Uint static_uint =
- ATOMIC_INITIALIZER_UINT(0xc01dc0feU);
- static Atomic_Ulong static_ulong =
- ATOMIC_INITIALIZER_ULONG(0xdeadbeefUL);
- static Atomic_Pointer static_ptr =
- ATOMIC_INITIALIZER_PTR(&static_ptr);
- static Atomic_Flag static_flag = ATOMIC_INITIALIZER_FLAG;
+ #if (__SIZEOF_INT__ == 2)
+ #define UINT_CONSTANT 0xc0feU
+ #else
+ #define UINT_CONSTANT 0xc01dc0feU
+ #endif
+
+ static Atomic_Uint static_uint = ATOMIC_INITIALIZER_UINT(UINT_CONSTANT);
+ static Atomic_Ulong static_ulong = ATOMIC_INITIALIZER_ULONG(0xdeadbeefUL);
+ static Atomic_Pointer static_ptr = ATOMIC_INITIALIZER_PTR(&static_ptr);
+ static Atomic_Flag static_flag = ATOMIC_INITIALIZER_FLAG;
Atomic_Uint stack_uint;
Atomic_Ulong stack_ulong;
@@ -50,7 +53,7 @@ static void test_static_and_dynamic_initialization(void)
puts("=== static and dynamic initialization test case ===");
- _Atomic_Init_uint(&stack_uint, 0xc01dc0feU);
+ _Atomic_Init_uint(&stack_uint, UINT_CONSTANT);
_Atomic_Init_ulong(&stack_ulong, 0xdeadbeefUL);
_Atomic_Init_ptr(&stack_ptr, &static_ptr);
_Atomic_Flag_clear(&stack_flag, ATOMIC_ORDER_RELAXED);
More information about the vc
mailing list