#43974 [Opn->Bgs]: #ifdef FOO && BAR is not portable

From: Date: Tue, 29 Jan 2008 21:18:02 +0000
Subject: #43974 [Opn->Bgs]: #ifdef FOO && BAR is not portable
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-121756@lists.php.net to get a copy of this message
ID: 43974 Updated by: johannes@php.net Reported By: wietse at porcupine dot org -Status: Open +Status: Bogus Bug Type: *Compile Issues Operating System: FreeBSD 6.2 PHP Version: 5.2.5 New Comment: This has been reported before and is fixed in CVS. Previous Comments: ------------------------------------------------------------------------ [2008-01-29 21:02:35] wietse at porcupine dot org Description: ------------ ext/mysqli/mysqli.c:696 and ext/mysqli/mysqli.c:712 contain the following non-portable preprocessor directive: #ifdef ZTS && MYSQL_VERSION_ID >= 40000 This mixes ifdef with expressions, and is not portable. This should be: #if defined(ZTS) && (MYSQL_VERSION_ID >= 40000) Reproduce code: --------------- ./configure make Expected result: ---------------- /var/tmp/todo/php/php-5.2.5-exp/ext/mysqli/mysqli.c:696:12: warning: extra tokens at end of #ifdef directive /var/tmp/todo/php/php-5.2.5-exp/ext/mysqli/mysqli.c:712:12: warning: extra tokens at end of #ifdef directive Actual result: -------------- nothing ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=43974&edit=1

« previous php.bugs (#121756) next »