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