"Paul Mensonides" <[EMAIL PROTECTED]> writes: > ----- Original Message ----- > From: "David Abrahams" <[EMAIL PROTECTED]> > >> And, BTW, can you show us how to do it? > > Yes, pick which one of these syntax variants you want, and I'll implement > it. > > [note: I'm removing all the extra wrapping parentheses here for clarity.] > > Normal usage would generate this: > > #if __SUNPRO_CC != 0 && __SUNPRO_CC <= 0x530 > > BTW: The test against zero is redundant. Any "word" other than "true" or > "false" will get converted to 0 if it is not defined. So you could just > have: > > __SUNPRO_CC && __SUNPRO_CC <= 0x530
I know, but I'm paranoid ;-) > The error/warning usage would generate this (or similar): > > #if __SUNPRO_CC != 0 && 1 % (__SUNPRO_CC <= 0x530) > > ...if "BOOST_DETECT_OUTDATED_WORKAROUNDS" is defined or defined to be > non-zero. Otherwise it would expand to: > > #if __SUNPRO_CC != 0 Sounds good. > Here is a summary of syntax possibilities: > > // normal usage: > BOOST_WORKAROUND(__SUNPRO_CC, <= 0x530) > > // extended usage: > BOOST_WORKAROUND(__SUNPRO_CC, BOOST_CURRENT_VERSION(0x530)) > BOOST_WORKAROUND(__SUNPRO_CC, (0x530)) > BOOST_WORKAROUND(__SUNPRO_CC, (BOOST_CURRENT_VERSION) 0x530) > BOOST_WORKAROUND(__SUNPRO_CC, BOOST_CURRENT_VERSION 0x530) > BOOST_WORKAROUND(__SUNPRO_CC, (?) > 0x530) > > In other words, there are a lot of possibilities. Consider my other list > bogus. Unfortunately I like all of the above except the last one. I'd even like the last one, perhaps best of all, if it were: BOOST_WORKAROUND(__SUNPRO_CC, (?) <= 0x530) So I think I'll have to ask other people to weigh in here. Do you have any preferences, anyone? -- David Abrahams [EMAIL PROTECTED] * http://www.boost-consulting.com Boost support, enhancements, training, and commercial distribution _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost