]> git.ipfire.org Git - thirdparty/squid.git/commit
Bug 5009: Build failure with older clang libc++ (#514)
authorAlex Rousskov <rousskov@measurement-factory.com>
Sat, 23 Nov 2019 09:18:24 +0000 (09:18 +0000)
committerSquid Anubis <squid-anubis@squid-cache.org>
Sat, 23 Nov 2019 09:18:27 +0000 (09:18 +0000)
commit84011c4813ca9949f949ecd90524fc468b5c1683
tree5cfed21a30d198a381d95c0664dd647b5b5e3c20
parentb803c23a32afd84fda5181a37ffa1de06147564c
Bug 5009: Build failure with older clang libc++ (#514)

Older clang libc++ implementations correctly reject implicit usage of an
explicit (in C++11) std::map copy constructor with "chosen constructor
is explicit in copy-initialization" errors. The same code becomes legal
in C++14[1], so newer libc++ implementation allow implicit usage (even
in C++11), but there is no need for copy-initialization here at all.
Evidently, libstdc++ has never declared constructors explicit.

The bug was seen with Apple clang in Xcode 5.1.1 (roughly upstream clang
3.4) and Xcode 6.2 (roughly upstream clang 3.5), both using libc++.

[1] http://cplusplus.github.io/LWG/lwg-defects.html#2193
src/acl/Options.cc