Subject: [boost] [config] additions for gcc 4.0.1 and IBM V11.1.0.0 due to MSM compile errors
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2010-09-20 15:38:02


Hi,

I'm trying to see how far I can bring more compilers to compile MSM
and I noticed that these 2 compilers might have a chance to work:

- On gcc 4.0.1, most regression tests (for example:
http://www.boost.org/development/tests/trunk/developer/output/Sandia-darwin-4-0-1-boost-bin-v2-libs-msm-test-CompositeMachine-test-darwin-4-0-1-debug.html)
fail because in msm/back/state_machine.hpp, the nested struct
add_state cannot access the private function set_containing_sm. IIUC
this should be BOOST_NO_NESTED_FRIENDSHIP. Correct? If yes, could we
add this macro for gcc 4.0.1 (unfortunately, no idea about 4.0.1 - 4.2
but I suppose this will concern all 4.0.x)?

- Again on the regression tests, the IBM compiler shows the same
problem and furthermore does not accept that the struct:

template <class Fsm,class Stt, class Event, class Compile> friend
struct dispatch_table

can have access to a private method of the befriended class. Again,
IIUC, this seems to me to be BOOST_NO_MEMBER_TEMPLATE_FRIENDS.
I don't find a file for this compiler in config/compiler. Am I missing
something?

Frankly, I'm slightly wary of changing myself the config files so I'd
really appreciate some help here.

Thanks,

Christophe