[Parameter] Warnings from Preprocessor
I recently updated to 1.63 from 1.57, and I'm now getting warnings from usages of BOOST_PARAMETER_MEMBER_FUNCTION on Windows (msvc-12.0) like: warning C4003: not enough actual parameters for macro 'BOOST_PP_SEQ_DETAIL_EMPTY_SIZE' warning C4003: not enough actual parameters for macro 'BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY' The code appears to be working, but since it's used in headers, I get a lot of warnings. Here's one of the usages: BOOST_PARAMETER_MEMBER_FUNCTION((Revision_t), CreateForegroundWhite, tag, (optional (imgclass, (Class_t), ClassPrint) (fromimage, (bool), true) (blackasgray, (bool), false) )) Should I be concerned about the warnings? Any way to get rid of them? Thanks, Phillip
On 1/27/2017 6:52 AM, Phillip Seaver wrote:
I recently updated to 1.63 from 1.57, and I'm now getting warnings from usages of BOOST_PARAMETER_MEMBER_FUNCTION on Windows (msvc-12.0) like:
warning C4003: not enough actual parameters for macro 'BOOST_PP_SEQ_DETAIL_EMPTY_SIZE' warning C4003: not enough actual parameters for macro 'BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY'
The code appears to be working, but since it's used in headers, I get a lot of warnings. Here's one of the usages:
BOOST_PARAMETER_MEMBER_FUNCTION((Revision_t), CreateForegroundWhite, tag, (optional (imgclass, (Class_t), ClassPrint) (fromimage, (bool), true) (blackasgray, (bool), false) ))
Should I be concerned about the warnings? Any way to get rid of them?
You need not be concerned about these warnings. I have made some changes to Boost PP for the next release which may eliminate the above two warnings, but in general the VC++ preprocessor often gives spurious warnings of this kind which do not affect anything. The VC++ is not a standard conforming C++ preprocessor in numerous ways.
Thanks,
Phillip
On Fri, Jan 27, 2017 at 11:32 AM, Edward Diener
On 1/27/2017 6:52 AM, Phillip Seaver wrote:
I recently updated to 1.63 from 1.57, and I'm now getting warnings from usages of BOOST_PARAMETER_MEMBER_FUNCTION on Windows (msvc-12.0) like:
warning C4003: not enough actual parameters for macro 'BOOST_PP_SEQ_DETAIL_EMPTY_SIZE' warning C4003: not enough actual parameters for macro 'BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY'
Should I be concerned about the warnings? Any way to get rid of them?
You need not be concerned about these warnings. I have made some changes to Boost PP for the next release which may eliminate the above two warnings, but in general the VC++ preprocessor often gives spurious warnings of this kind which do not affect anything. The VC++ is not a standard conforming C++ preprocessor in numerous ways.
Thanks for the quick response! Good to know they're not a problem. I'm painfully aware of how problematic VC++ can be for cross-platform developers. :-) Phillip
participants (2)
-
Edward Diener
-
Phillip Seaver