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