|
Boost : |
From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-06-18 13:57:18
----- Original Message -----
From: "Paul Mensonides" <pmenso57_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Tuesday, June 18, 2002 2:23 PM
Subject: Re: [boost] Recent PP changes
> > from your boost root:
> >
> > cvs update -rmpl-development boost/mpl
> >
> > > So, if you want to tell me what I need to do
> > > or where to go for instructions, go ahead.
>
> I tried the above like this:
> cvs -z3 -d:pserver:anonymous_at_[hidden]:/cvsroot/boost
update
> boost/mpl
>
> But this didn't work.
What did it do?
When I say "the boost root directory", I mean the one containing boost/
libs/ more/, etc.
> So I tried this:
> cvs -z3 -d:pserver:anonymous_at_[hidden]:/cvsroot/boost
> checkout -rmpl-development boost
>
> That deleted everything, but got the mpl files. So then I just co'd
boost
> (without mpl-development) and got all the other files back.
>
> Obviously, I'm doing something wrong, so I'm going to the bookstore to
get "Open
> Source Development with CVS" by Moeshe Bar which was recommended in the
> sourceforge documentation.
OK. Have you looked at http://cvsbook.red-bean.com/?
> I don't really know why VC++ is failing in certain cases without the
delay
> macros. The best guess that I can make is that it is getting confused
under
> certain conditions and seems to be do a depth-first expansion--which is
> incorrect. In any case, after I made the modifications to if.h and
bool.h, I
> could preprocess the files that had errors in them (apply.h and
> count_if.not.hpp) just fine with VC++ or Comeau C++. The patches so far
were
> necessary parts of the fix, but I couldn't isolate where the problem was
> occurring without looking at the source that caused the problem. This is
> definitely the fault of VC++. It is doing macro expansion in an
extraordinarily
> hokey fashion.
>
> My username at sourceforge is pmenso57.
You now have an account. Be sure to ssh into sourceforge to create your
home directory as described here:
https://sourceforge.net/docman/display_doc.php?docid=763&group_id=1
Also be sure to re-checkout the Boost CVS tree with your userid, since you
won't be able to check anything in from the tree you got as "anonymous".
> Lastly, before all the delays are re-inserted, I'm wondering whether or
not an
> alternate implementation should be provided for compliant preprocessors.
I.e.
>
> #ifdef BOOST_PP_DETAIL_EXTRA_DELAYS
> #define BOOST_PP_CAT(a, b) BOOST_PP_CAT_DELAY_X(a, b)
> #define BOOST_PP_CAT_DELAY_X(a, b) BOOST_PP_CAT_DELAY(a, b)
> #else
> #define BOOST_PP_CAT(a, b) BOOST_PP_CAT_DELAY(a, b)
> #endif
> #define CONCAT_DELAY(a, b) a ## b
>
> ...because the extra delays reduce efficiency. I don't know what Vesa
wants to
> do however.
Me neither, but I defnititely think that compliant compilers shouldn't pay
for the VC support, especially because so many of them are dog-slow.
or-is-it-pig?-ly y'rs,
dave
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk