gcc compilation broken with SVN r264042

David Chisnall theraven at FreeBSD.org
Wed Apr 2 19:58:24 UTC 2014


On 2 Apr 2014, at 20:53, Michael Butler <imb at protected-networks.net> wrote:

> cc (GCC) 4.2.1 20070831 patched [FreeBSD]
> 
> .. on ..
> 
> FreeBSD 11.0-CURRENT #22 r263969: Mon Mar 31 10:45:56 EDT 2014
> 
> Splitting it like ..
> 
> -       fn.fn_ptr.cxa_func = (void(*)(void*))GET_BLOCK_FUNCTION(func);
> +       fn.fn_ptr.cxa_func =
> +               (void(*)(void*))
> +               GET_BLOCK_FUNCTION(func);
> 
> .. causes the reported error to point at the GET_BLOCK_FUNCTION.

Sorry, I meant split it into different statements.  Along the lines of:

struct generic_block *b = (struct generic_block*)func;
void (*fn)(void*,...) = b->invoke;
fn.fn_ptr.cxa_func = (void (*)(void*))fn;

> I guess it's time for me to migrate that box to clang :-)

Well, I wouldn't object to that, but it would be good to fix this - we still want to be able to build the base system with gcc (or another compiler), even if we don't encourage it...

David



More information about the freebsd-current mailing list