#18617 [Com]: warning: empty declaration

From: Date: Mon, 29 Jul 2002 10:16:25 +0000
Subject: #18617 [Com]: warning: empty declaration
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-15480@lists.php.net to get a copy of this message
 ID:               18617
 Comment by:       msopacua@idg.nl
 Reported By:      phpbugs@drcheap.com
 Status:           Feedback
 Bug Type:         Compile Failure
 Operating System: Slackware Linux 8.0 (2.4.5 krnl)
 PHP Version:      4.2.2
 New Comment:

Well - there you have it:
main/php_config.h:
#define ulong unsigned long
#define uint unsigned int

These are set by autoheader, from main/php_config.h.in.

The warnings are harmless, but the reason they are set is, because no
ulong and uint type was not found by configure.

See your config.log, for:
checking for uint..no

There should be a warning message and a log of the program that failed
and why.


Previous Comments:
------------------------------------------------------------------------

[2002-07-28 22:10:18] phpbugs@drcheap.com

And I need to blink my eyes a bit (staring at screen too long).  Here's
the lines from types.h:

142:#ifdef __USE_MISC
143:/* Old compatibility names for C types.  */
144:typedef unsigned long int ulong;
145:typedef unsigned short int ushort;
146:typedef unsigned int uint;
147:#endif

------------------------------------------------------------------------

[2002-07-28 21:52:54] msopacua@idg.nl

And that would be /usr/include/sys/types.h 144/146.

I need sleep in this timezone :-)

------------------------------------------------------------------------

[2002-07-28 21:33:05] phpbugs@drcheap.com

Err, sorry, that was wrong for main/php_config.h above.  The correct
lines are:

2083:#ifdef HAVE_STDLIB_H
2084:# include <stdlib.h>
2085:#endif

------------------------------------------------------------------------

[2002-07-28 21:26:30] phpbugs@drcheap.com

Here those items +/- a few lines to put them in context:

/usr/include/stdlib.h
--------
143:#if defined __USE_ISOC99 || (defined __GNUC__ && defined
__USE_MISC)
144:/* Convert a string to a long long integer.  */
145:__extension__ extern long long int atoll (__const char *__nptr)
146:     __THROW __attribute_pure__;
147:#endif
--------

main/php_config.h
--------
2046:#ifdef HAVE_ISNAN
2047:#define zend_isnan(a) isnan(a)
2048:#elif defined(NAN)
2049:#define zend_isnan(a) (((a)==NAN)?1:0)
2050:#elif defined(HAVE_FPCLASS)
2051:#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) ==
FP_QNAN))
2052:#else
2053:#define zend_isnan(a) 0
2054:#endif
--------

------------------------------------------------------------------------

[2002-07-28 21:17:43] msopacua@idg.nl

what's at /usr/include/stdlib.h on line 144/146

An empty declaration is something like:
#define int socklen_t

Other file:
typedef int socklen_t;

Result:
typedef int int;

They are harmless though in most cases, but this is one I bumped to
recently also.

Could you also list line 2048 of main/php_config.h?

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/18617

-- 
Edit this bug report at http://bugs.php.net/?id=18617&edit=1



Thread (11 messages)

« previous php.bugs (#15480) next »