We never tried to compile Spirit on AIX/xlc. So any feedback is welcome. Using gcc should be fine.
Steven Watanabe wrote:
The trunk regression tests for spirit with xlc mostly fail with an internal compiler error.
On AIX v10.1 boost 1.39, spirit classic gets stuck in an infinite loop, and spirit qi produces the following even on the simplest of grammars. My plans to migrate to AIX are equally stuck.
"/s1a/emos_esuite/emos_data/sms/boost_1_39_0/boost/spirit/home/support/ component.hpp", line 219.37: 1540-0711 (S) Too few template arguments have been specified. "/s1a/emos_esuite/emos_data/sms/boost_1_39_0/boost/spirit/home/support/ modifier.hpp", line 83.59: 1540-0711 (S) Too few template arguments have been specified. "/s1a/emos_esuite/emos_data/sms/boost_1_39_0/boost/spirit/home/support/ attribute_transform.hpp", line 71.17: 1540-0711 (S) Too few template arguments have been specified.
Yeah, xlc doesn't like template specializations where the main template has default arguments and those are not explicitly specified for the specializations. Been there... This is almost always fixable by explicitly specifying the default template parameters while specializing the templates, but it makes the code so much more unreadable...
From googling around a similar error was found with boost tuple, (but must have been with a different compiler version) see: http://lists.boost.org/Archives/boost/2004/06/66550.php
I have seen that a new patch for the v10.1 compiler was released in May 2009. I am not sure yet if I can access this patched compiler, If I can will let you know.
Michael Wong (The Intel compiler guy) told me during BoostCon they made good progress with their compiler lately, so this might help. Regards Hartmut