Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

clang90 on FreeBSD is missing the map::extract C++17 feature #43489

Open Quuxplusone opened 4 years ago

Quuxplusone commented 4 years ago
Bugzilla Link PR44519
Status NEW
Importance P enhancement
Reported by Yuri (yuri@tsoft.com)
Reported on 2020-01-11 12:53:37 -0800
Last modified on 2020-01-11 14:31:51 -0800
Version unspecified
Hardware PC FreeBSD
CC blitzrakete@gmail.com, dimitry@andric.com, erik.pilkington@gmail.com, llvm-bugs@lists.llvm.org, richard-llvm@metafoo.co.uk
Fixed by commit(s)
Attachments
Blocks
Blocked by
See also

This project fails to build on FreeBSD with clang90: https://github.com/sgsaenger/vipster

The FreeBSD bug report: http://beefy5.nyi.freebsd.org/data/120i386-default/522623/logs/vipster-1.18.b.75_1.log

map::extract (https://en.cppreference.com/w/cpp/container/map/extract) seems to be missing.

Quuxplusone commented 4 years ago

This is not because of clang 9.0 (or the clang90 port), but because your build environment (jail) is using FreeBSD 12.0-RELEASE-p12, which comes with libc++ 6.0.1.

Support for map::extract was only added later, in https://reviews.llvm.org/rL338472, by Erik Pilkington. I am unsure if there is any feature flag you can test to ascertain the member function is available.