Visual C++ 7.1 Internal Compiler Error

  • Thread starter Gabriel Becedillas
  • Start date
G

Gabriel Becedillas

During the last weeks I've trying to port boost::python 1.23 to work
with Visual C++ 7.1. I had some headaches while doing so because VC++
7.1 supports Koenig lookup and previous ones doesn't support it (and
aparently boost::python 1.23 was not written with Koenig support in
mind).
While doing so I faced an ICF.. which I can reproduce with the code
that follows. Does anybode know if this is fixed somehow ?.
I'm not sure if the call to some_friend inside
bang_bang_icf_shot_me_down is ok or not.. and thats not what I want to
find out right now. The ICF I'm getting is inside a piece of code that
is so much bigger. This is just a simplified example of what I think
is trigering the ICF.
Thanks.


namespace pindonguita
{
struct lookup_helper
{};

class A
{
public:
friend void some_friend(lookup_helper)
{}
};

template <typename T>
void bang_bang_icf_shot_me_down(lookup_helper a_T)
{::some_friend(pindonguita::lookup_helper());}
}

int main()
{
pindonguita::A int_conv;
some_friend(pindonguita::lookup_helper());
pindonguita::bang_bang_icf_shot_me_down<int>(pindonguita::lookup_helper());
return 0;
}
 
C

Carl Daniel [VC++ MVP]

Gabriel said:
During the last weeks I've trying to port boost::python 1.23 to work
with Visual C++ 7.1. I had some headaches while doing so because VC++
7.1 supports Koenig lookup and previous ones doesn't support it (and
aparently boost::python 1.23 was not written with Koenig support in
mind).
While doing so I faced an ICF.. which I can reproduce with the code
that follows. Does anybode know if this is fixed somehow ?.
I'm not sure if the call to some_friend inside
bang_bang_icf_shot_me_down is ok or not.. and thats not what I want to
find out right now. The ICF I'm getting is inside a piece of code that
is so much bigger. This is just a simplified example of what I think
is trigering the ICF.
Thanks.

I was able to confirm this ICE in VC7.1 and it appears to be fixed in
Whidbey (VC8). The code posted is in fact invalid and VC8 gives an
appropriate error instead of the ICE.

Would using boost::python 2 be an option? AFIAK that works perfectly well
with VC7.1.

-cd
 
G

Gabriel Becedillas

Carl Daniel said:
I was able to confirm this ICE in VC7.1 and it appears to be fixed in
Whidbey (VC8). The code posted is in fact invalid and VC8 gives an
appropriate error instead of the ICE.

Thank you very much for checking.
Would using boost::python 2 be an option? AFIAK that works perfectly well
with VC7.1.

The reason why we're using such and old boost::python version is that
we're using python 2.0.1 vm embedded in our application. Upgrading
that is a very critical process.
Thanks again for your response.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top