This revision was automatically updated to reflect the committed changes. Closed by commit rL360044: Fix compilation warnings when compiling with GCC 7.3 (authored by aganea, committed by ).
Changed prior to commit: https://reviews.llvm.org/D61046?vs=196655&id=198265#toc Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61046/new/ https://reviews.llvm.org/D61046 Files: llvm/trunk/lib/Target/AMDGPU/R600ISelLowering.cpp llvm/trunk/unittests/IR/ConstantRangeTest.cpp llvm/trunk/unittests/Support/TypeTraitsTest.cpp llvm/trunk/unittests/Transforms/Scalar/CMakeLists.txt llvm/trunk/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
Index: llvm/trunk/lib/Target/AMDGPU/R600ISelLowering.cpp =================================================================== --- llvm/trunk/lib/Target/AMDGPU/R600ISelLowering.cpp +++ llvm/trunk/lib/Target/AMDGPU/R600ISelLowering.cpp @@ -1714,6 +1714,12 @@ if (NewBldVec[i].isUndef()) continue; + // Fix spurious warning with gcc 7.3 -O3 + // warning: array subscript is above array bounds [-Warray-bounds] + // if (NewBldVec[i] == NewBldVec[j]) { + // ~~~~~~~~~~~^ + if (i >= 4) + continue; for (unsigned j = 0; j < i; j++) { if (NewBldVec[i] == NewBldVec[j]) { NewBldVec[i] = DAG.getUNDEF(NewBldVec[i].getValueType()); Index: llvm/trunk/unittests/Transforms/Scalar/CMakeLists.txt =================================================================== --- llvm/trunk/unittests/Transforms/Scalar/CMakeLists.txt +++ llvm/trunk/unittests/Transforms/Scalar/CMakeLists.txt @@ -10,3 +10,8 @@ add_llvm_unittest(ScalarTests LoopPassManagerTest.cpp ) + +# Workaround for the gcc 6.1 bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80916. +if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0) + set_source_files_properties(LoopPassManagerTest.cpp PROPERTIES COMPILE_FLAGS -Wno-unused-function) +endif() Index: llvm/trunk/unittests/Transforms/Scalar/LoopPassManagerTest.cpp =================================================================== --- llvm/trunk/unittests/Transforms/Scalar/LoopPassManagerTest.cpp +++ llvm/trunk/unittests/Transforms/Scalar/LoopPassManagerTest.cpp @@ -20,19 +20,9 @@ #include "llvm/IR/PassManager.h" #include "llvm/Support/SourceMgr.h" -// Workaround for the gcc 6.1 bug PR80916. -#if defined(__GNUC__) && __GNUC__ > 5 -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wunused-function" -#endif - #include "gmock/gmock.h" #include "gtest/gtest.h" -#if defined(__GNUC__) && __GNUC__ > 5 -# pragma GCC diagnostic pop -#endif - using namespace llvm; namespace { Index: llvm/trunk/unittests/Support/TypeTraitsTest.cpp =================================================================== --- llvm/trunk/unittests/Support/TypeTraitsTest.cpp +++ llvm/trunk/unittests/Support/TypeTraitsTest.cpp @@ -7,6 +7,7 @@ //===----------------------------------------------------------------------===// #include "llvm/Support/type_traits.h" +#include "gtest/gtest.h" namespace { @@ -71,6 +72,26 @@ template void TrivialityTester<A &&, false, true>(); template void TrivialityTester<B &&, false, true>(); +TEST(Triviality, Tester) { + TrivialityTester<int, true, true>(); + TrivialityTester<void *, true, true>(); + TrivialityTester<int &, true, true>(); + TrivialityTester<int &&, false, true>(); + + TrivialityTester<X, true, true>(); + TrivialityTester<Y, false, false>(); + TrivialityTester<Z, false, false>(); + TrivialityTester<A, true, false>(); + TrivialityTester<B, false, true>(); + + TrivialityTester<Z &, true, true>(); + TrivialityTester<A &, true, true>(); + TrivialityTester<B &, true, true>(); + TrivialityTester<Z &&, false, true>(); + TrivialityTester<A &&, false, true>(); + TrivialityTester<B &&, false, true>(); +} + } // namespace triviality } // end anonymous namespace Index: llvm/trunk/unittests/IR/ConstantRangeTest.cpp =================================================================== --- llvm/trunk/unittests/IR/ConstantRangeTest.cpp +++ llvm/trunk/unittests/IR/ConstantRangeTest.cpp @@ -459,6 +459,7 @@ } } + (void)HaveInterrupt3; assert(!HaveInterrupt3 && "Should have at most three ranges"); ConstantRange SmallestCR = OpFn(CR1, CR2, ConstantRange::Smallest);
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits