Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apply changes required by MSVC-15.5. #198

Merged
merged 11 commits into from
Dec 12, 2017
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion doc/html/boost_config/boost_macro_reference.html
Original file line number Diff line number Diff line change
Expand Up @@ -939,7 +939,8 @@
<td>
<p>
The C++ implementation fails to provide the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
class.
class. Note that post C++17, this macro is re-purposed to indicate
that std::iterator has been removed or deprecated.
</p>
</td>
</tr>
Expand Down Expand Up @@ -3829,6 +3830,18 @@
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_ITERATOR_TRAITS</span></code>
</p>
</td>
<td>
<p>
The compiler does not support SFINAE-friendly <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span></code>.
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion doc/html/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -992,7 +992,7 @@
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: July 21, 2017 at 18:08:20 GMT</small></p></td>
<td align="left"><p><small>Last revised: December 11, 2017 at 19:32:07 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
Expand Down
3 changes: 2 additions & 1 deletion doc/macro_reference.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,8 @@ The C++ standard library does not provide a standards conforming
The platform does not have a conforming version of `std::distance`.
]]
[[`BOOST_NO_STD_ITERATOR`][Standard library][
The C++ implementation fails to provide the `std::iterator` class.
The C++ implementation fails to provide the `std::iterator` class.
Note that post C++17, this macro is re-purposed to indicate that std::iterator has been removed or deprecated.
]]
[[`BOOST_NO_STD_ITERATOR_TRAITS`][Standard library][
The compiler does not provide a standard compliant implementation of
Expand Down
9 changes: 5 additions & 4 deletions include/boost/config/compiler/visualc.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -222,11 +222,12 @@
//
// C++ 11:
//
#if (_MSC_VER < 1912)
// This is really only supported with /permissive- but as this is the default for new projects it seems
// sensible to allow this:
// This is supported with /permissive- for 15.5 onwards, unfortunately we appear to have no way to tell
// if this is in effect or not, in any case nothing in Boost is currently using this, so we'll just go
// on defining it for now:
//
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#endif

#if (_MSC_VER < 1912) || (_MSVC_LANG < 201402)
// Supported from msvc-15.5 onwards:
#define BOOST_NO_CXX11_SFINAE_EXPR
Expand Down
30 changes: 30 additions & 0 deletions test/config_info.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -143,19 +143,49 @@ void print_compiler_macros()
PRINT_MACRO(_WCHAR_T_DEFINED);
#endif
// MSVC macros:
PRINT_MACRO(__ATOM__);
PRINT_MACRO(__AVX__);
PRINT_MACRO(__AVX2__);
PRINT_MACRO(_CHAR_UNSIGNED);
PRINT_MACRO(_CLR_VER);
PRINT_MACRO(_CONTROL_FLOW_GUARD);
PRINT_MACRO(__cplusplus_cli);
PRINT_MACRO(__cplusplus_winrt);
PRINT_MACRO(_CPPRTTI);
PRINT_MACRO(_CPPUNWIND);
PRINT_MACRO(_DLL);
PRINT_MACRO(_ISO_VOLATIL);
Copy link
Member

@pdimov pdimov Dec 11, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo? Shouldn't this be _ISO_VOLATILE?

PRINT_MACRO(_M_AMD64);
PRINT_MACRO(_M_ARM);
PRINT_MACRO(_M_ARM_ARMV7VE);
PRINT_MACRO(_M_ARM_FP);
PRINT_MACRO(_M_ARM64);
PRINT_MACRO(_M_CEE);
PRINT_MACRO(_M_CEE_PURE);
PRINT_MACRO(_M_CEE_SAFE);
PRINT_MACRO(_M_FP_EXCEPT);
PRINT_MACRO(_M_FP_FAST);
PRINT_MACRO(_M_FP_PRECISE);
PRINT_MACRO(_M_FP_STRICT);
PRINT_MACRO(_M_IX86);
PRINT_MACRO(_M_IX86_FP);
PRINT_MACRO(_M_X64);
PRINT_MACRO(_M_ALPHA);
PRINT_MACRO(_M_MPPC);
PRINT_MACRO(_M_MRX000);
PRINT_MACRO(_M_PPC);
PRINT_MACRO(_MANAGED);
PRINT_MACRO(_MSC_BUILD);
PRINT_MACRO(_MFC_VER);
PRINT_MACRO(_MSC_EXTENSIONS);
PRINT_MACRO(_MSC_VER);
PRINT_MACRO(_MSC_FULL_VER);
PRINT_MACRO(_MSVC_LANG);
PRINT_MACRO(__MSVC_RUNTIME_CHECKS);
PRINT_MACRO(_MT);
PRINT_MACRO(_NATIVE_WCHAR_T_DEFINED);
PRINT_MACRO(_OPENMP);
PRINT_MACRO(_PREFAST_);
// GNUC options:
PRINT_MACRO(__GNUC__);
PRINT_MACRO(__GNUC_MINOR__);
Expand Down