bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

iswblank failure [was: IRIX failures]


From: Eric Blake
Subject: iswblank failure [was: IRIX failures]
Date: Wed, 01 Sep 2010 20:36:58 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8) Gecko/20100806 Fedora/3.1.2-1.fc13 Mnenhy/0.8.3 Thunderbird/3.1.2

On 09/01/2010 12:48 PM, Tom G. Christensen wrote:
Definitely something that can be fixed in gnulib.  Can you help figure
out where the earlier iswblank declaration was coming from?

Presumably from one of these system headers<internal/wctype_core.h>  or
<internal/wchar_core.h>  which both contain this:
#if defined(__c99)
extern int      iswblank(wint_t);
#if !defined(_SGI_COMPILING_LIBC)
#pragma optional iswblank
#endif
#endif /* __c99 */

I've uploaded the pre-processed source here:
http://jupiterrise.com/tmp/printf-args.i

That shows /usr/include/internal/wctype_core.h as the first culprit in your particular case.


It seems that gcc defines __c99 in -std=gnu99 mode:
$ gcc -E -dM -std=gnu99 -<  /dev/null|grep c99
#define __c99 1

Also, that
particular declaration at line 585 of wctype.h (line 282 of wctype.in.h)
is guarded by:

#if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@
#elif ! @HAVE_ISWBLANK@

So knowing the value of all the HAVE_IS* and REPLACE_IS* from config.log
would be useful to help diagnose what is going wrong here.

HAVE_ISWCNTRL 1
HAVE_ISWBLANK 0
no definition for REPLACE_ISWBLANK

sounds like the m4 test needs to be taught to look for a declaration, and if one exists, then line 283 of wctype.in.h needs to key off of REPLACE_ISWBLANK and declare rpl_iswblank in that case.

Bruno, is this something you can do quickly?

--
Eric Blake   address@hidden    +1-801-349-2682
Libvirt virtualization library http://libvirt.org



reply via email to

[Prev in Thread] Current Thread [Next in Thread]