[llvm-bugs] [Bug 32716] New: LLVM fails to build with GCC 7

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Apr 19 15:28:52 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=32716

            Bug ID: 32716
           Summary: LLVM fails to build with GCC 7
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: release blocker
          Priority: P
         Component: Support Libraries
          Assignee: unassignedbugs at nondot.org
          Reporter: vedran at miletic.net
                CC: llvm-bugs at lists.llvm.org

[ 35%] Building CXX object lib/Option/CMakeFiles/LLVMOption.dir/Arg.cpp.o
In file included from /home/vedranm/workspace/llvm/lib/Option/Arg.cpp:13:0:
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h: In member function
„llvm::opt::ArgList::iterator llvm::opt::ArgList::begin()”:
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h:184:54: greška:
invalid initialization of reference of type „const llvm::opt::OptSpecifier
(&)[1]” from expression of type „const llvm::opt::OptSpecifier [1]”
   iterator begin() { return {Args.begin(), Args.end()}; }
                                                      ^
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h:71:3: napomena: in
passing argument 3 of „llvm::opt::arg_iterator<BaseIter,
NumOptSpecifiers>::arg_iterator(BaseIter, BaseIter, const
llvm::opt::OptSpecifier (&)[(NumOptSpecifiers ?  NumOptSpecifiers : 1)]) [with
BaseIter = llvm::opt::Arg**; unsigned int NumOptSpecifiers = 0]”
   arg_iterator(
   ^~~~~~~~~~~~
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h: In member function
„llvm::opt::ArgList::iterator llvm::opt::ArgList::end()”:
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h:185:50: greška:
invalid initialization of reference of type „const llvm::opt::OptSpecifier
(&)[1]” from expression of type „const llvm::opt::OptSpecifier [1]”
   iterator end() { return {Args.end(), Args.end()}; }
                                                  ^
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h:71:3: napomena: in
passing argument 3 of „llvm::opt::arg_iterator<BaseIter,
NumOptSpecifiers>::arg_iterator(BaseIter, BaseIter, const
llvm::opt::OptSpecifier (&)[(NumOptSpecifiers ?  NumOptSpecifiers : 1)]) [with
BaseIter = llvm::opt::Arg**; unsigned int NumOptSpecifiers = 0]”
   arg_iterator(
   ^~~~~~~~~~~~
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h: In member function
„llvm::opt::ArgList::reverse_iterator llvm::opt::ArgList::rbegin()”:
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h:187:49: greška:
could not convert „llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2>
>::rbegin() [with T = llvm::opt::Arg*; <template-parameter-1-2> = void;
llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::reverse_iterator
= std::reverse_iterator<llvm::opt::Arg**>]()” from
„llvm::SmallVectorTemplateCommon<llvm::opt::Arg*, void>::reverse_iterator {aka
std::reverse_iterator<llvm::opt::Arg**>}” to
„llvm::opt::ArgList::reverse_iterator {aka
llvm::opt::arg_iterator<std::reverse_iterator<llvm::opt::Arg**> >}”
   reverse_iterator rbegin() { return Args.rbegin(); }
                                      ~~~~~~~~~~~^~
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h: In member function
„llvm::opt::ArgList::reverse_iterator llvm::opt::ArgList::rend()”:
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h:188:45: greška:
could not convert „llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2>
>::rend() [with T = llvm::opt::Arg*; <template-parameter-1-2> = void;
llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::reverse_iterator
= std::reverse_iterator<llvm::opt::Arg**>]()” from
„llvm::SmallVectorTemplateCommon<llvm::opt::Arg*, void>::reverse_iterator {aka
std::reverse_iterator<llvm::opt::Arg**>}” to
„llvm::opt::ArgList::reverse_iterator {aka
llvm::opt::arg_iterator<std::reverse_iterator<llvm::opt::Arg**> >}”
   reverse_iterator rend() { return Args.rend(); }
                                    ~~~~~~~~~^~
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h: In member function
„llvm::opt::ArgList::const_iterator llvm::opt::ArgList::begin() const”:
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h:190:51: greška:
could not convert „((const
llvm::opt::ArgList*)this)->llvm::opt::ArgList::Args.llvm::SmallVector<llvm::opt::Arg*,
16>::<anonymous>.llvm::SmallVectorImpl<llvm::opt::Arg*>::<anonymous>.llvm::SmallVectorTemplateBase<llvm::opt::Arg*,
true>::<anonymous>.llvm::SmallVectorTemplateCommon<llvm::opt::Arg*,
void>::begin()” from „llvm::SmallVectorTemplateCommon<llvm::opt::Arg*,
void>::const_iterator {aka llvm::opt::Arg* const*}” to
„llvm::opt::ArgList::const_iterator {aka
llvm::opt::arg_iterator<llvm::opt::Arg* const*>}”
   const_iterator begin() const { return Args.begin(); }
                                         ~~~~~~~~~~^~
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h: In member function
„llvm::opt::ArgList::const_iterator llvm::opt::ArgList::end() const”:
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h:191:47: greška:
could not convert „((const
llvm::opt::ArgList*)this)->llvm::opt::ArgList::Args.llvm::SmallVector<llvm::opt::Arg*,
16>::<anonymous>.llvm::SmallVectorImpl<llvm::opt::Arg*>::<anonymous>.llvm::SmallVectorTemplateBase<llvm::opt::Arg*,
true>::<anonymous>.llvm::SmallVectorTemplateCommon<llvm::opt::Arg*,
void>::end()” from „llvm::SmallVectorTemplateCommon<llvm::opt::Arg*,
void>::const_iterator {aka llvm::opt::Arg* const*}” to
„llvm::opt::ArgList::const_iterator {aka
llvm::opt::arg_iterator<llvm::opt::Arg* const*>}”
   const_iterator end() const { return Args.end(); }
                                       ~~~~~~~~^~
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h: In member function
„llvm::opt::ArgList::const_reverse_iterator llvm::opt::ArgList::rbegin()
const”:
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h:193:61: greška:
could not convert „llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2>
>::rbegin() const [with T = llvm::opt::Arg*; <template-parameter-1-2> = void;
llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2>
>::const_reverse_iterator = std::reverse_iterator<llvm::opt::Arg* const*>]()”
from „llvm::SmallVectorTemplateCommon<llvm::opt::Arg*,
void>::const_reverse_iterator {aka std::reverse_iterator<llvm::opt::Arg*
const*>}” to „llvm::opt::ArgList::const_reverse_iterator {aka
llvm::opt::arg_iterator<std::reverse_iterator<llvm::opt::Arg* const*> >}”
   const_reverse_iterator rbegin() const { return Args.rbegin(); }
                                                  ~~~~~~~~~~~^~
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h: In member function
„llvm::opt::ArgList::const_reverse_iterator llvm::opt::ArgList::rend() const”:
/home/vedranm/workspace/llvm/include/llvm/Option/ArgList.h:194:57: greška:
could not convert „llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2>
>::rend() const [with T = llvm::opt::Arg*; <template-parameter-1-2> = void;
llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2>
>::const_reverse_iterator = std::reverse_iterator<llvm::opt::Arg* const*>]()”
from „llvm::SmallVectorTemplateCommon<llvm::opt::Arg*,
void>::const_reverse_iterator {aka std::reverse_iterator<llvm::opt::Arg*
const*>}” to „llvm::opt::ArgList::const_reverse_iterator {aka
llvm::opt::arg_iterator<std::reverse_iterator<llvm::opt::Arg* const*> >}”
   const_reverse_iterator rend() const { return Args.rend(); }
                                                ~~~~~~~~~^~
make[2]: *** [lib/Option/CMakeFiles/LLVMOption.dir/build.make:63:
lib/Option/CMakeFiles/LLVMOption.dir/Arg.cpp.o] Greška 1
make[1]: *** [CMakeFiles/Makefile2:3525:
lib/Option/CMakeFiles/LLVMOption.dir/all] Greška 2
make: *** [Makefile:152: all] Greška 2

GCC 6 works fine. GCC 7 bug?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170419/3cd6d766/attachment.html>


More information about the llvm-bugs mailing list