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