Suppress unwanted clang 3.7 warnings.

Fix undefined behaviour in perf/tinycc.c


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15616
This commit is contained in:
Florian Krohm
2015-09-02 15:47:33 +00:00
parent b4d7d70d2a
commit d0cf6ac4fa
5 changed files with 12 additions and 3 deletions

View 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

View 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)

View 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

View 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@

View 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();