
John Maddock wrote:
Vladimir Prus wrote:
Hi, quite a number of headers in boost/config/compiler have bits like this:
# error "Unknown compiler version - please run the configure tests and report the results"
I think this cause more hard than good these days. If a new version of an otherwise perfectly conforming compiler is released, this error will be emitted when compiling Boost. So, users would have to manually hack the config headers and keep this change locally. And, it's likely that some users won't even bother -- especially given that the message say to run some configure tests, and where those configure tests are is not clear. And definitely, those tests have nothing to do with the 'configure' script at the top-level dir.
So, the message is likely to totally confuse some users, and force other users to keep local modifications to boost. Can we either remove this check, or assume that unknown version of compiler is identical in behaviour to the last known one?
I think you're probably misunderstanding how those headers work: the #error is only emitted if:
* the user has defined BOOST_ASSERT_CONFIG and * the compiler is not recognosed.
Since the whole purpose of BOOST_ASSERT_CONFIG is to emit an error when the compiler is not recognised, this is quite deliberate and should IMO stay. Unless users explicitly define this macro they won't ever see the #error.
Well, warning is just as bad, as it's emitted per each compiled file.
There are some compilers that historically emit a *warning* if the compiler is unrecognised and BOOST_ASSERT_CONFIG is *not* defined. These are:
Borland: Given it's current poor std conformance, I think this one should stay.
I suspect borland users already know about its poor conformance, so need no further message :-)
GCC: This has already been disabled for the reasons you give above.
Ah, did not notice it.
Intel: Also already disabled. MSVC: Currently still emits a warning, I'm not sure if this one should stay or not.
MSVC is what I was looking at, and I'd suggest it does not emit a warning. - Volodya