[rtems commit] malloctest: Hide NULL pointer from compiler

Sebastian Huber sebh at rtems.org
Thu Oct 25 04:42:57 UTC 2018


Module:    rtems
Branch:    master
Commit:    522d4b9186d4a1c5b5a329f323250a90fde5d91a
Changeset: http://git.rtems.org/rtems/commit/?id=522d4b9186d4a1c5b5a329f323250a90fde5d91a

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Oct 24 07:16:46 2018 +0200

malloctest: Hide NULL pointer from compiler

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 a775129..be6f2c4 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 );



More information about the vc mailing list