[PATCH 1/4] malloctest: Hide NULL pointer from compiler
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Oct 24 06:10:04 UTC 2018
Disabling a warning does not prevent the compiler from reasoning what it
is supposed to do with a somewhat undefined function call.
---
testsuites/libtests/malloctest/init.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/testsuites/libtests/malloctest/init.c b/testsuites/libtests/malloctest/init.c
index a775129f0d..be6f2c4755 100644
--- a/testsuites/libtests/malloctest/init.c
+++ b/testsuites/libtests/malloctest/init.c
@@ -1173,21 +1173,20 @@ static void test_heap_size_with_overhead(void)
static void test_posix_memalign(void)
{
void *p1;
+ void **p2;
size_t i;
int sc;
int maximumShift;
/*
* posix_memalign() is declared as never having a NULL first parameter.
- * We need to explicitly disable this compiler warning to make this code
- * warning free.
+ * We need to hide the NULL value from the compiler.
*/
- COMPILER_DIAGNOSTIC_SETTINGS_PUSH
- COMPILER_DIAGNOSTIC_SETTINGS_DISABLE_NONNULL
puts( "posix_memalign - NULL return pointer -- EINVAL" );
- sc = posix_memalign( NULL, 32, 8 );
+ p2 = NULL;
+ RTEMS_OBFUSCATE_VARIABLE( p2 );
+ sc = posix_memalign( p2, 32, 8 );
fatal_posix_service_status( sc, EINVAL, "posix_memalign NULL pointer" );
- COMPILER_DIAGNOSTIC_SETTINGS_POP
puts( "posix_memalign - alignment of 0 -- EINVAL" );
sc = posix_memalign( &p1, 0, 8 );
--
2.16.4
More information about the devel
mailing list