From: Jarkko Hietaniemi Date: Sun, 30 Mar 2003 10:26:32 +0000 (+0000) Subject: Not all compilers like #ifdefs within cpp macros X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=dc4c69d9328dff74d38ec5b2dbf795d4f1643b34;p=p5sagit%2Fp5-mst-13.2.git Not all compilers like #ifdefs within cpp macros (follow-up on #19086) p4raw-id: //depot/perl@19091 --- diff --git a/pp_sys.c b/pp_sys.c index 3c22a76..877d0a0 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -1068,15 +1068,23 @@ PP(pp_sselect) #endif } +#ifdef PERL_IRIX5_SELECT_TIMEVAL_VOID_CAST + /* Can't make just the (void*) conditional because that would be + * cpp #if within cpp macro, and not all compilers like that. */ + nfound = PerlSock_select( + maxlen * 8, + (Select_fd_set_t) fd_sets[1], + (Select_fd_set_t) fd_sets[2], + (Select_fd_set_t) fd_sets[3], + (void*) tbuf); /* Workaround for compiler bug. */ +#else nfound = PerlSock_select( maxlen * 8, (Select_fd_set_t) fd_sets[1], (Select_fd_set_t) fd_sets[2], (Select_fd_set_t) fd_sets[3], -#ifdef PERL_IRIX5_SELECT_TIMEVAL_VOID_CAST - (void*) /* Workaround for a compiler bug. */ -#endif tbuf); +#endif for (i = 1; i <= 3; i++) { if (fd_sets[i]) { sv = SP[i];