boostorg / boostorg/config

MSVC 1916 does not have a good constexpr 14 support

Open
#256 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
80
Forks
184
Avg merge
1h 16m
Merged PRs (30d)
3

Description

Looks like `BOOST_CXX14_CONSTEXPR` should not expand into `constexpr` for _MSC_VER == 1916, because the support does not seem complete. Here are some errors from the Boost.TypeIndex tests:
```
[00:03:17] compile-c-c++ ..\..\..\bin.v2\libs\type_index\test\type_index_constexpr_test.test\msvc-14.1\debug\cxxstd-14-iso\threading-multi\type_index_constexpr_test.obj
[00:03:17] type_index_constexpr_test.cpp
[00:03:17] type_index_constexpr_test.cpp(97): error C2131: expression did not evaluate to a constant
[00:03:17] C:\boost-local\boost/type_index/ctti_type_index.hpp(185): note: failure was caused by attempting to access a member on an object of dynamic type 'boost::typeindex::type_index_facade' in which the member is not defined
[00:03:17] C:\boost-local\boost/type_index/ctti_type_index.hpp(185): note: see usage of 'boost::typeindex::ctti_type_index::data_'
[00:03:17] type_index_constexpr_test.cpp(100): error C2131: expression did not evaluate to a constant
```

Full log is available at https://ci.appveyor.com/project/apolukhin/type-index/builds/21035855/job/9hcff3l2j4r9o70v

Misc: TypeIndex workaround that helped to fix the test https://github.com/boostorg/type_index/commit/c585d7466969387402114650b0387afd428852ce .

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.