----- 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

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

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.

Paul Mensonides

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to