From: Florian Krohm Date: Wed, 2 Sep 2015 15:47:33 +0000 (+0000) Subject: Suppress unwanted clang 3.7 warnings. X-Git-Tag: svn/VALGRIND_3_11_0~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0cf6ac4faa25385a9ddd27c296b8a4d0786477e;p=thirdparty%2Fvalgrind.git Suppress unwanted clang 3.7 warnings. Fix undefined behaviour in perf/tinycc.c git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15616 --- diff --git a/configure.ac b/configure.ac index 7189fa8fb1..9211b95c42 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/drd/tests/Makefile.am b/drd/tests/Makefile.am index dcd79cbd51..2885391638 100644 --- a/drd/tests/Makefile.am +++ b/drd/tests/Makefile.am @@ -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) diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am index 0a22e5e3a3..68d9ca16e5 100644 --- a/memcheck/tests/Makefile.am +++ b/memcheck/tests/Makefile.am @@ -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 diff --git a/none/tests/linux/Makefile.am b/none/tests/linux/Makefile.am index 9eb61bf2b9..f407cb473a 100644 --- a/none/tests/linux/Makefile.am +++ b/none/tests/linux/Makefile.am @@ -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@ diff --git a/perf/tinycc.c b/perf/tinycc.c index 99b6403ab1..3b487c13f7 100644 --- a/perf/tinycc.c +++ b/perf/tinycc.c @@ -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();