|
Boost : |
From: troy d. straszheim (troy_at_[hidden])
Date: 2005-01-07 12:37:32
Hey OS X serialization people:
I have a workaround for the code itself:
The problems appear to have been in basic_xml_grammar.ipp,
specifically statements such as
Name = (Letter | '_' | ':') >> *(NameChar);
where presumably the template instantiations from the freestanding
operators (in the spirit library) were just a bit too much for the
compiler. If you refactor them as
rule_t StarNameChar = *(NameChar);
rule_t LetterOrUnderscoreOrColon = (Letter | '_' | ':');
Name = LetterOrUnderscoreOrColon >> StarNameChar;
then things compile fine in both debug and release mode. If you run
"top", you should see the vsize of the compiler top out at about 350M
on xml_grammar and at 450M or so on xml_wgrammar in release mode.
They do take a couple minutes each to compile.
With these changes, on my machine, all the xml-related tests compile
run and pass, in both debug and release mode, [with the exception of
test_demo_portable_archive, which I'm guessing is due to some other
issue, maybe its not even xml related... I'm outta time...]
You can get the changes at:
http://svn.resophonic.com/pub/boost/boost/archive/impl/basic_xml_grammar.hpp
and
http://svn.resophonic.com/pub/boost/libs/serialization/src/basic_xml_grammar.ipp
lemme know how it looks on your end, I have only one (slow) Mac to try
this stuff on...
- troy d. straszheim
By the way, spectactularly cool library, thanks Mr. Ramey...
Robert Ramey writes:
>
>
> Alan wrote:
> > Yes. Done. Here is relevent bit of the Jamfile.
> >
> > lib boost_serialization
> ...
> >
> > ## Darwin doesn't like optimization...
> > <darwin><*><optimization>off
> > <darwin><*><inlining>off
> ...
> > (The Jamfile syntax means nothing to me.
>
> welcome to the club !
>
> > I put an echo line above what I determined to be the cc
> > command and tried different things until I saw -O0 and
> > -fno-inline.)
> >
> > Now it compiles. As to the specific opimization to turn off,
> > well, I'll have to learn more about Boost.Build.
>
> I would appreciated it if you could experiment just a little bit more.
>
> a) instead of <darwin><*>... try each of the following
>
> <darwin><release><optimization>space
> <darwin><release><optimization>space
>
> and try with and without
>
> <darwin><inlining>off
>
> Is there anyone who want's to chiime in and indicate how these statements
> would be applied to just one source file in the library - that is
> xml_grammar.cpp . This is the only one thats coughing here ( and the only
> one that's using spirit ). In fact, I believe that spirit test should be
> run in release mode - this will amost surely highlight the root cause of the
> problem.
>
> In fact if you want to do a good deed and you have a little time. And since
> you're right there in the key spot And since you're going to get a huge
> boost from boost, It would be great if you could run the sprit test suite in
> release mode. This would be of great help to us.
>
> Robert Ramey
>
>
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk