Boost logo

Boost :

From: Angus Leeming (angus.leeming_at_[hidden])
Date: 2005-10-18 10:11:39


Angus Leeming wrote:
> It seems to me that the script has done its job. If you're happy
> with what it produces then I'll prepare a patch and move onto the
> next macro.

Looking through the output really carefully led me to squash a couple
of bugs and make one test more explicit. Revised script attached.

A.

$ diff -u boost_msvc_orig.sh boost_msvc.sh
--- boost_msvc_orig.sh 2005-10-18 16:04:24.000000000 +0100
+++ boost_msvc.sh 2005-10-18 15:55:22.000000000 +0100
@@ -34,6 +34,10 @@
 # of BOOST_MSVC itself!
 /^ *# *define \{1,\}BOOST_MSVC \{1,\}/b

+# Nor are we interested in changing the definition of _MSC_VER
+/^ *# *define \{1,\}_MSC_VER \{1,\}/b
+/^ *# *undef \{1,\}_MSC_VER *$/b
+
 # Save the preprocessor command in the hold space.
 # We will use it to pretty-print the output in "diff -u" style.
 s/$/ANGUS_SEPARATOR/
@@ -45,6 +49,11 @@
 s/_MSC_VER\([^_]\)/BOOST_MSVC\1/g
 s/_MSC_VER$/BOOST_MSVC/

+# Be explicit!
+# "#if BOOST_MSVC" -> "#if (BOOST_MSVC > 0)"
+s/\(if \{1,\}\)BOOST_MSVC *$/\1(BOOST_MSVC > 0)/
+s/\(if \{1,\}! *\)BOOST_MSVC *$/\1(BOOST_MSVC == 0)/
+
 # We are interested in the BOOST_MSVC macro;
 # no false positives please.
 s/BOOST_MSVC_/ANGUS_MSVC_/g
@@ -137,7 +146,7 @@
 # Do not transform "BOOST_MSVC == 0" or "BOOST_MSVC > 0"

 /BOOST_MSVC \{1,\}\(==\|>\) \{1,\}0[ )]/ !{
- s/\(BOOST_MSVC\) *\(<=\|<\|==\|!=\|>=\|>\) * \([0-9]\{1
\}\)/BOOST_WORKAROUND(\1, \2 \3)/g
+ s/\(BOOST_MSVC\) *\(<=\|<\|==\|!=\|>=\|>\) *\([0-9]\{1
\}\)/BOOST_WORKAROUND(\1, \2 \3)/g
 }

 #================================================================




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk