[llvm-dev] New warnings when building trunk with GCC 9

Dávid Bolvanský via llvm-dev llvm-dev at lists.llvm.org
Thu Sep 13 00:12:55 PDT 2018


Hello,

GCC 9.0 introduces a new warning checkers and some of them found possible
issues in LLVM.

In file included from
/home/davidbolvansky/trunk/llvm/include/llvm/Analysis/LazyCallGraph.h:38,
                 from
/home/davidbolvansky/trunk/llvm/unittests/Analysis/LazyCallGraphTest.cpp:10:
/home/davidbolvansky/trunk/llvm/include/llvm/ADT/ArrayRef.h: In
instantiation of ‘llvm::ArrayRef<T>::ArrayRef(const
std::initializer_list<_Tp>&) [with T = llvm::LazyCallGraph::Node*]’:
/home/davidbolvansky/trunk/llvm/unittests/Analysis/LazyCallGraphTest.cpp:1169:52:
 required from here
/home/davidbolvansky/trunk/llvm/include/llvm/ADT/ArrayRef.h:102:37:
warning: initializing ‘llvm::ArrayRef<llvm::LazyCallGraph::Node*>::Data’
from ‘std::initializer_list<llvm::LazyCallGraph::Node*>::begin’ does not
extend the lifetime of the underlying array [-Winit-list-lifetime]

In file included from
/home/davidbolvansky/trunk/llvm/unittests/ADT/SmallVectorTest.cpp:14:
/home/davidbolvansky/trunk/llvm/include/llvm/ADT/SmallVector.h: In member
function ‘virtual void
{anonymous}::SmallVectorTest_InitializerList_Test::TestBody()’:
/home/davidbolvansky/trunk/llvm/include/llvm/ADT/SmallVector.h:502:7:
warning: array subscript 1 is outside array bounds of ‘int [1]’
[-Warray-bounds]
502 |       ++EltPtr;
/home/davidbolvansky/trunk/llvm/unittests/ADT/SmallVectorTest.cpp:994:30:
note: while referencing ‘<anonymous>’
994 |   V2.insert(V2.begin() + 1, 5);

/home/davidbolvansky/trunk/llvm/unittests/ExecutionEngine/Orc/CompileOnDemandLayerTest.cpp:79:40:
 required from here
/home/davidbolvansky/trunk/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h:314:29:
warning: redundant move in return statement [-Wredundant-move]
314 |         return std::move(Err);

In file included from
/home/davidbolvansky/trunk/llvm/utils/unittest/googlemock/include/gmock/gmock-spec-builders.h:75,
                 from
/home/davidbolvansky/trunk/llvm/utils/unittest/googlemock/include/gmock/gmock-generated-function-mockers.h:43,
                 from
/home/davidbolvansky/trunk/llvm/utils/unittest/googlemock/include/gmock/gmock.h:61,
                 from
/home/davidbolvansky/trunk/llvm/include/llvm/Testing/Support/Error.h:17,
                 from
/home/davidbolvansky/trunk/llvm/unittests/DebugInfo/MSF/MappedBlockStreamTest.cpp:15:
/home/davidbolvansky/trunk/llvm/utils/unittest/googlemock/include/gmock/gmock-matchers.h:
In instantiation of
‘testing::internal::PredicateFormatterFromMatcher<M>::PredicateFormatterFromMatcher(M)
[with M = llvm::FailedMatcher]’:
/home/davidbolvansky/trunk/llvm/utils/unittest/googlemock/include/gmock/gmock-matchers.h:1880:10:
 required from ‘testing::internal::PredicateFormatterFromMatcher<M>
testing::internal::MakePredicateFormatterFromMatcher(M) [with M =
llvm::FailedMatcher]’
/home/davidbolvansky/trunk/llvm/unittests/DebugInfo/MSF/MappedBlockStreamTest.cpp:96:3:
 required from here
/home/davidbolvansky/trunk/llvm/utils/unittest/googlemock/include/gmock/gmock-matchers.h:1836:75:
warning: implicitly-declared ‘constexpr
llvm::FailedMatcher::FailedMatcher(const llvm::FailedMatcher&)’ is
deprecated [-Wdeprecated-copy]
1836 |   explicit PredicateFormatterFromMatcher(M m) :
matcher_(internal::move(m)) {}
     |
     ^
In file included from
/home/davidbolvansky/trunk/llvm/utils/unittest/googletest/include/gtest/gtest-printers.h:103,
                 from
/home/davidbolvansky/trunk/llvm/include/llvm/Testing/Support/SupportHelpers.h:16,
                 from
/home/davidbolvansky/trunk/llvm/include/llvm/Testing/Support/Error.h:15,
                 from
/home/davidbolvansky/trunk/llvm/unittests/DebugInfo/MSF/MappedBlockStreamTest.cpp:15:
/home/davidbolvansky/trunk/llvm/utils/unittest/googletest/include/gtest/internal/gtest-port.h:873:8:
note: because ‘llvm::FailedMatcher’ has user-provided ‘void
llvm::FailedMatcher::operator=(const llvm::FailedMatcher&)’
873 |   void operator=(type const &)
    |        ^~~~~~~~
/home/davidbolvansky/trunk/llvm/utils/unittest/googlemock/include/gmock/gmock-generated-matchers.h:1417:5:
note: in expansion of macro ‘GTEST_DISALLOW_ASSIGN_’
1417 |     GTEST_DISALLOW_ASSIGN_(name##Matcher);\
     |     ^~~~~~~~~~~~~~~~~~~~~~
/home/davidbolvansky/trunk/llvm/include/llvm/Testing/Support/Error.h:145:1:
note: in expansion of macro ‘MATCHER’
145 | MATCHER(Failed, "") { return !arg.Success(); }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180913/915698f5/attachment-0001.html>


More information about the llvm-dev mailing list