<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - LLVM fails to build with GCC 7"
href="https://bugs.llvm.org/show_bug.cgi?id=32716">32716</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>LLVM fails to build with GCC 7
</td>
</tr>
<tr>
<th>Product</th>
<td>libraries
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>release blocker
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Support Libraries
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>vedran@miletic.net
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>[ 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>
<span class="quote">>::rbegin() [with T = llvm::opt::Arg*; <template-parameter-1-2> = void;</span >
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>
<span class="quote">>::rend() [with T = llvm::opt::Arg*; <template-parameter-1-2> = void;</span >
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>
<span class="quote">>::rbegin() const [with T = llvm::opt::Arg*; <template-parameter-1-2> = void;</span >
llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2>
<span class="quote">>::const_reverse_iterator = std::reverse_iterator<llvm::opt::Arg* const*>]()”</span >
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>
<span class="quote">>::rend() const [with T = llvm::opt::Arg*; <template-parameter-1-2> = void;</span >
llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2>
<span class="quote">>::const_reverse_iterator = std::reverse_iterator<llvm::opt::Arg* const*>]()”</span >
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?</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>