Boost logo

Boost :

From: Douglas Gregor (gregod_at_[hidden])
Date: 2001-06-20 09:12:27


[snip]
> Notes:
>
> I was unable to get boost::function support working for thread
> creation. Unfortunately on my compiler (the dreaded VC6) I'm
> receiving the infamous Internal Compiler Error. A single line that
> I've left commented out in boost::detail::thread_state that declares
> a member of boost::function<int> will illustrate the problem if
> anyone feels like figuring out what's wrong with Boost.Function
> here. I took the cowards way out for now and threads are only
> creatable from function pointers with the signature "void func
> (void*)".
>

I've finally looked into this. I get parse errors with:

typedef function<void, void*> threadfunc;

It appears that MSVC is not finding 'function', so I tried:

typedef boost::function<void, void*> threadfunc;

Now I get the ICE. I'm unable to find any reason for MSVC to be dying here
(similar code works perfectly well in other places).

The good news is that the numbered variant seems to work. This compiled
without incident:

typedef function1<void, void*> threadfunc;

Note that I wasn't able to test this beyond ensuring compilation of the
object file. My only Windows box runs Win98, for which I was not able to get
Jam working.

        Doug


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