Created attachment 94726 [details] Build failure with clang 3.4 Clover from Mesa 10.1-rc2 fails to build when using clang 3.4 and libc++, instead of GCC 4.7+ and libstdc++. I first apply the patch available in #74098, 3rd comment to fix a previous build failure. The output is attached.
I found out a difference between GCC's "functional" header and libc++'s one: - in GCC, all "operator()" methods are const: operator()(...) const - in libc++, they aren't: operator() (_ArgTypes&&... __args) Changing the above line to: operator() (_ArgTypes&&... __args) const fixes the build. I have zero knowledge of C++, so I'm not sure that's a valid fix.
(In reply to comment #1) > I found out a difference between GCC's "functional" header and libc++'s one: > > - in GCC, all "operator()" methods are const: > operator()(...) const > > - in libc++, they aren't: > operator() (_ArgTypes&&... __args) > > Changing the above line to: > operator() (_ArgTypes&&... __args) const > fixes the build. > > I have zero knowledge of C++, so I'm not sure that's a valid fix. Right, this is a bug in libc++'s implementation of mem_fn(). It seems to have been fixed already in r199848. You should try a more recent version of libc++. Thanks.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.