Created attachment 153611 [details] Use swap member function instead of free swap function, to appease clang 3.6.0 During the exp-run in bug 197395, it was found that devel/google-sparsehash gives errors with clang 3.6.0: http://package18.nyi.freebsd.org/data/headamd64PR197395-default/2015-02-27_12h37m16s/logs/errors/google-sparsehash-2.0.2_2.log The error is because clang 3.6.0 has become more strict about matching non-type template parameters. However, I am not completely sure if the construction google-sparsehash is using is legal or not, and whether clang is correct to refuse it. It looks like different versions of gcc have different opinions on the legality of non-type template parameter deduction. I will submit a bug report upstream with clang to figure that out, but in the mean time, I want to propose using the attached patch, which makes hashtable_test.cc use the swap member functions, instead of the free swap functions.
Auto-assigned to maintainer vd@FreeBSD.org
A commit references this bug: Author: vd Date: Wed Mar 4 08:43:46 UTC 2015 New revision: 380423 URL: https://svnweb.freebsd.org/changeset/ports/380423 Log: Fix compilation of devel/google-sparsehash with clang 3.6.0 PR: 198091 Submitted by: Dimitry Andric Changes: head/devel/google-sparsehash/files/patch-src__hashtable_test.cc
Committed, thanks! Notice that I limited the effect of the patch to only clang >= 3.6.0.