Boost logo

Boost :

Subject: Re: [boost] [scope_exit] trunk tests fail on sun compiler
From: lcaminiti (lorcaminiti_at_[hidden])
Date: 2012-04-09 17:54:57


lcaminiti wrote
>
>
> lcaminiti wrote
>>
>>
>> Stefan Teleman-2 wrote
>>>
>>> -Qoption ccfe -features=gcc.
>>>
>>> To build Boost with SunProCC you're going to have to pass several
>>> -Qoption ccfe -features=<X> to the compiler anyway. Might as well bite
>>> the bullet and pass them. :-) Otherwise, no dice, it won't build.
>>>
>>> Also, the document page you are referring to shows an inconsistency
>>> between the typeof operator implementations in SunProC vs. SunProCC:
>>>
>>> http://developers.sun.com/solaris/articles/c_type.html
>>>
>>> SunProC allows typeof (without underscores) by default, without any
>>> special flags:
>>>
>>
>> I see. I'll try to add your suggested options to my Jamfile and see how
>> the regression tests go.
>>
>
> I've added this to ScopeExit test/Jamfile.v2:
>
> project : requirements <toolset>sun:<cxxflags>"-Qoption ccfe
> -features=gcc" ;
>
> But the regression test show:
>
> "/opt/sunstudio12.1/bin/CC" +d -library=stlport4 -features=tmplife
> -features=tmplrefstatic -library=stlport4 -g -erroff=%none -m64 -KPIC
> -DBOOST_ALL_NO_LIB=1 -I".." -c -o
> "/scratch2/kbelco/boost/results/boost/bin.v2/libs/scope_exit/test/world_checkpoint_seq.test/sun-5.10/debug/address-model-64/stdlib-sun-stlport/world_checkpoint_seq.o"
> "../libs/scope_exit/test/world_checkpoint_seq.cpp"
>
> Any idea why the -Qoptiona ccfee -features=gcc did not show up in the
> regression test run? What am I doing wrong?
>

Sorry, I got confused (maybe I didn't refresh my browser page...), the
options were added but they didn't help:

Compile [2012-04-09 16:56:36 UTC]: fail

    "/opt/sunstudio12.1/bin/CC" +d -Qoption ccfe -features=gcc
-library=stlport4 -features=tmplife -features=tmplrefstatic
-library=stlport4 -g -erroff=%none -m64 -KPIC -DBOOST_ALL_NO_LIB=1 -I".." -c
-o
"/scratch2/kbelco/boost/results/boost/bin.v2/libs/scope_exit/test/world_seq.test/sun-5.10/debug/address-model-64/stdlib-sun-stlport/world_seq.o"
"../libs/scope_exit/test/world_seq.cpp"

"../libs/scope_exit/test/world_seq.cpp", line 34: Error:
boost_se_wrapped_t_0_34 is not a namespace or class name.
"../libs/scope_exit/test/world_seq.cpp", line 34: Error: type is not
defined.
"../libs/scope_exit/test/world_seq.cpp", line 34: Error:
boost_se_wrapped_t_1_34 is not a namespace or class name.
"../libs/scope_exit/test/world_seq.cpp", line 34: Error: type is not
defined.
"../libs/scope_exit/test/world_seq.cpp", line 34: Error: Could not find a
match for boost_se_params_t_34::boost_se_params_t_34(bool,
std::vector<person>) needed in world::add_person(const person&).
"../libs/scope_exit/test/world_seq.cpp", line 35: Error: int is not a
structure type.
6 Error(s) detected.

If I use these options on my Sun Linux Ubuntu installation, this code
compiles. But on the Sun platform used for regression I still got there
errors while the errors go away if define=BOOST_TYPEOF_EMULATION.

--Lorenzo

--
View this message in context: http://boost.2283326.n4.nabble.com/boost-scope-exit-trunk-tests-fail-on-sun-compiler-tp4501546p4543974.html
Sent from the Boost - Dev mailing list archive at Nabble.com.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk