<html>
    <head>
      <base href="https://bugs.freedesktop.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 - Mesa 11.0.0-rc2 - state_trackers/clover does not build on FreeBSD"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91826">91826</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Mesa 11.0.0-rc2 - state_trackers/clover does not build on FreeBSD
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>11.0
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>FreeBSD
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>mesa-dev@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>kwm@rainbow-runner.nl
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>mesa-dev@lists.freedesktop.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Mesa 11.0.0 rc2 doesn't build on FreeBSD with the build failure below. Used
compiler is Clang 3.6.1 and we use llvm's libc++ as c++ standard library.

This seems to be that clang is picky about this piece of code. A quick test
shows that GCC 5.2.1 build the code just fine, even if it issues a warning
about the issue clang errors on. 

Sorry my c++ know how is almost non existing, so can't help with making a patch
for this issue.

Clang:
src/gallium/state_trackers/clover % gmake
  CXX      llvm/libclllvm_la-invocation.lo
llvm/invocation.cpp:388:12: warning: unused variable 'str_node'
      [-Wunused-variable]
      auto str_node = llvm::cast<llvm::MDString>(node->getOperand(0));
           ^
llvm/invocation.cpp:468:40: error: typename specifier refers to non-type member
      'type' in 'clover::module::argument'
            typename module::argument::type marg_type;
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
./core/module.hpp:97:15: note: referenced member 'type' is declared here
         type type;
              ^
1 warning and 1 error generated.
Makefile:859: recipe for target 'llvm/libclllvm_la-invocation.lo' failed
gmake: *** [llvm/libclllvm_la-invocation.lo] Error 1


GCC:
  CXXLD    libcltgsi.la
llvm/invocation.cpp: In function 'llvm::MDNode*
{anonymous}::node_from_op_checked(const llvm::MDOperand&, llvm::StringRef,
unsigned int)':
llvm/invocation.cpp:388:12: warning: unused variable 'str_node'
[-Wunused-variable]
       auto str_node = llvm::cast<llvm::MDString>(node->getOperand(0));
            ^
In file included from ./core/compiler.hpp:27:0,
                 from llvm/invocation.cpp:23:
./core/module.hpp: In function 'std::vector<clover::module::argument>
{anonymous}::get_kernel_args(const llvm::Module*, const string&, const unsigned
int (&)[7])':
./core/module.hpp:86:50: warning: 'marg_type' may be used uninitialized in this
function [-Wmaybe-uninitialized]
             ext_type(ext_type), semantic(semantic) { }
                                                  ^
llvm/invocation.cpp:468:45: note: 'marg_type' was declared here
             typename module::argument::type marg_type;
                                             ^
  CXXLD    libclllvm.la</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>