]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Suppress unwanted clang 3.7 warnings.
authorFlorian Krohm <florian@eich-krohm.de>
Wed, 2 Sep 2015 15:47:33 +0000 (15:47 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Wed, 2 Sep 2015 15:47:33 +0000 (15:47 +0000)
Fix undefined behaviour in perf/tinycc.c

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15616

configure.ac
drd/tests/Makefile.am
memcheck/tests/Makefile.am
none/tests/linux/Makefile.am
perf/tinycc.c

index 7189fa8fb1290951e177661d83231d094662944f..9211b95c42c067525666e63a58b6562c135a77b2 100644 (file)
@@ -1887,6 +1887,8 @@ AC_GCC_WARNING_SUBST_NO([pointer-sign], [FLAG_W_NO_POINTER_SIGN])
 AC_GCC_WARNING_SUBST_NO([uninitialized], [FLAG_W_NO_UNINITIALIZED])
 AC_GCC_WARNING_SUBST_NO([unused-function], [FLAG_W_NO_UNUSED_FUNCTION])
 AC_GCC_WARNING_SUBST_NO([static-local-in-inline], [FLAG_W_NO_STATIC_LOCAL_IN_INLINE])
+AC_GCC_WARNING_SUBST_NO([mismatched-new-delete], [FLAG_W_NO_MISMATCHED_NEW_DELETE])
+AC_GCC_WARNING_SUBST_NO([infinite-recursion], [FLAG_W_NO_INFINITE_RECURSION])
 AC_GCC_WARNING_SUBST([write-strings], [FLAG_W_WRITE_STRINGS])
 AC_GCC_WARNING_SUBST([empty-body], [FLAG_W_EMPTY_BODY])
 AC_GCC_WARNING_SUBST([format], [FLAG_W_FORMAT])
@@ -2514,6 +2516,10 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
   do {
     asm ("bndmov %bnd0,(%rsp)");
     asm ("bndldx 3(%rbx,%rdx), %bnd2");
+    asm ("bnd call foo\n"
+          bnd jmp  end\n"
+          foo: bnd ret\n"
+          end: nop");
   } while (0)
 ]])], [
 ac_have_as_mpx=yes
index dcd79cbd514b1660538deebe71f872ec04aad010..2885391638ee06148bf291a601f9a2dd54eed25a 100644 (file)
@@ -453,6 +453,7 @@ LDADD = -lpthread
 concurrent_close_SOURCES    = concurrent_close.cpp
 monitor_example_SOURCES     = monitor_example.cpp
 new_delete_SOURCES          = new_delete.cpp
+new_delete_CXXFLAGS         = $(AM_CXXFLAGS) @FLAG_W_NO_MISMATCHED_NEW_DELETE@
 
 free_is_write_CFLAGS        = $(AM_CFLAGS)
 pth_barrier_CFLAGS          = $(AM_CFLAGS)
index 0a22e5e3a3453ff6ba2a01360c4a0c06eaa2e478..68d9ca16e5374e482d6fcc4d744988b287ee0297 100644 (file)
@@ -462,6 +462,7 @@ endif
 memcmptest_CFLAGS      = $(AM_CFLAGS) -fno-builtin-memcmp
 
 mismatches_SOURCES     = mismatches.cpp
+mismatches_CXXFLAGS    = $(AM_CXXFLAGS) @FLAG_W_NO_MISMATCHED_NEW_DELETE@
 
 new_nothrow_SOURCES    = new_nothrow.cpp
 new_override_SOURCES   = new_override.cpp
index 9eb61bf2b9a4865d0b954b3e013d0dba9584ffe6..f407cb473abe485b3065abd179e673e96450127c 100644 (file)
@@ -37,4 +37,5 @@ AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
 # Special needs
 pthread_stack_LDADD = -lpthread
 
-stack_overflow_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
+stack_overflow_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@ \
+                       @FLAG_W_NO_INFINITE_RECURSION@
index 99b6403ab1a40f9aa07db9821f58f46ec6932800..3b487c13f7b0e438d221520d7d038a411c93ddc8 100644 (file)
@@ -10433,7 +10433,7 @@ int gv(int rc)
         bit_pos = (vtop->type.t >> VT_STRUCT_SHIFT) & 0x3f;
         bit_size = (vtop->type.t >> (VT_STRUCT_SHIFT + 6)) & 0x3f;
         /* remove bit field info to avoid loops */
-        vtop->type.t &= ~(VT_BITFIELD | (-1 << VT_STRUCT_SHIFT));
+        vtop->type.t &= ~(VT_BITFIELD | (~0U << VT_STRUCT_SHIFT));
         /* generate shifts */
         vpushi(32 - (bit_pos + bit_size));
         gen_op(TOK_SHL);
@@ -11930,7 +11930,7 @@ void vstore(void)
         bit_pos = (ft >> VT_STRUCT_SHIFT) & 0x3f;
         bit_size = (ft >> (VT_STRUCT_SHIFT + 6)) & 0x3f;
         /* remove bit field info to avoid loops */
-        vtop[-1].type.t = ft & ~(VT_BITFIELD | (-1 << VT_STRUCT_SHIFT));
+        vtop[-1].type.t = ft & ~(VT_BITFIELD | (~0U << VT_STRUCT_SHIFT));
 
         /* duplicate destination */
         vdup();