I know, Boost doesn't support MSVC 5.0 and 6.0. But the expression is invalid. Another way to fix it:
```c++
# if _MSC_VER < 1300
// Note: Versions up to 7.0 aren't supported.
# define BOOST_COMPILER_VERSION 6.0
# elif _MSC_VER < 1310
# define BOOST_COMPILER_VERSION 7.0
```
When the PGI C++ compiler changed to be GNU compatible, pgi.hpp stopped being used, because the check for __GNUC__ in select_compiler_config.hpp was true before the preprocessor ever got to the check for __PGI. Rearrange the order of the checks in select_compiler_config.hpp, moving the check for __PGI above the check for __GNUC__.
pgi.hpp was designed for a very old version of PGI C++, before it was GNU compatible. The settings in that file won't work for PGI compilers of the last few years. Replace the entire file with one that just includes gcc.hpp and then adjusts a few macros for areas where PGI is not quite GNU compatible. (The old PGI compilers are not actively being used by any customers that we (PGI) know of, so keeping the old contents of pgi.hpp would be of little or no benefit.)
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
# Fixed Conflicts:
# checks/Jamfile.v2
# checks/test_case.cpp
# test/all/Jamfile.v2
# test/config_test.cpp
Also added some more documentation to tie together the various SFINAE macros. Regenerated the docs.
- Define BOOST_NO_CXX14_CONSTEXPR only for the gcc-compatible version of Intel compiler (other versions untested). The previous definition was not in the correct preprocessor branch and the macro was not defined when it should have been.
- Increased the latest tested Intel compiler version to 17.
- Added comments to the preprocessor directives to simplify navigation in the file.