Boost logo

Boost Users :

Subject: [Boost-users] [Proto] fatal error C1001: An internal error has occurred in the compiler.
From: christophe henry (henry_christophe_at_[hidden])
Date: 2009-06-23 15:41:38


Hi all,

 

Here am I already at the 2nd compiler (VC9SP1) crash of the week (not kidding...):

fatal error C1001: An internal error has occurred in the compiler.

(compiler file 'f:\dd\vctools\compiler\utc\src\p2\p2symtab.c', line 5809)

Attached is a test file producing the problem. The crash happens when I add BOOST_PROTO_DEFINE_OPERATORS. Am I doing something wrong?

 

Sadly, this was a workaround to avoid deriving my class from proto::terminal because of a problem (supposedly) created by the address-of operator. Can someone save my day and tell me if there is a way to deactivate this operator for terminals?

Concretely, I have:

struct Empty: public state<>, proto::terminal<state_tag>

 

Which brings me, here:

 

&::boost::fusion::at_key<State>(xxx) // xxx being a fusion set containing Empty

 

the following problem:

1>f:\projects\MSM2\SM\boost/msm/back/state_machine.hpp(1061) : error
C2784: '::boost::enable_if<is_pseudo_exit<StateType>::type,void>::type
boost::msm::back::state_machine<Derived,HistoryPolicy,CopyPolicy>::execute_entry(StateType
*,const EventType &,FsmType &,boost::msm::back::dummy<__formal>)' :
could not deduce template argument for 'StateType *' from 'const
boost::proto::exprns_::expr<Tag,Args,Arity>'

1> with

1> [

1> Derived=`anonymous-namespace'::player_,

1> HistoryPolicy=boost::msm::back::NoHistory,

1> CopyPolicy=boost::msm::back::DeepCopy,

1> __formal=2

1> ]

1> and

1> [

1> Tag=boost::proto::tag::address_of,

1> Args=boost::proto::argsns_::list1<boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::msm::front::state_tag>>
&>,

1> Arity=1

1> ]

 

 

 I have another workaround but it requires more typing and is quite
ugly, so any help would be greatly appreciated.

 

Thanks,

Christophe

_________________________________________________________________
Windows Live™: Keep your life in sync. Check it out!
http://windowslive.com/explore?ocid=TXT_TAGLM_WL_t1_allup_explore_012009





Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net