bug-cvs
[Top][All Lists]
Advanced

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

Re: CVS Feature Branch - Windows Build Warnings


From: Derek Price
Subject: Re: CVS Feature Branch - Windows Build Warnings
Date: Tue, 20 Sep 2005 13:57:27 -0400
User-agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)

Conrad T. Pino wrote:

>We have a small number of missing prototypes:
>
>       lib\mbchar.h(243) : warning C4013: 'wcwidth' undefined; assuming extern 
> returning int
>  
>

This should be in wchar.h, acording to POSIX.  Since Windows apparently
has a deficient wchar.h, perhaps you could hide the prototype somewhere
else it will be noticed?

>       lib\regcomp.c(852) : warning C4013: 'strcasecmp' undefined; assuming 
> extern returning int
>  
>

Hrm.  I'll mention that on bug-gnulib.

>       src\main.c(108) : warning C4013: 'setenv' undefined; assuming extern 
> returning int
>       src\myndbm.c(227) : warning C4013: 'getdelim' undefined; assuming 
> extern returning int
>  
>

I've committed fixes for both of these.

>regex.c
>h:\conrad\projects\cvs-1.12\lib\regex_internal.h(107) : warning C4005: 
>'inline' : macro redefinition
>  
>

I'm a little confused by this.  Your compiler's line number reporting is
off, at least by my copy of this file, but there still doesn't seem to
be any mention of inline.  Are you using an old version of this file?

>h:\conrad\projects\cvs-1.12\lib\regex_internal.h(771) : warning C4003: not 
>enough actual parameters for macro '__libc_lock_define'
>  
>

This looks intentional and since gcc -Wall doesn't report it as a
problem, I won't worry about it.

>h:\conrad\projects\cvs-1.12\lib\regcomp.c(591) : warning C4018: '<=' : 
>signed/unsigned mismatch
>h:\conrad\projects\cvs-1.12\lib\regcomp.c(823) : warning C4018: '<=' : 
>signed/unsigned mismatch
>  
>
[. . .]

If you want to look into these you are welcome to, but they don't show
up here with gcc -Wall.

>h:\conrad\projects\cvs-1.12\lib\regcomp.c(852) : warning C4013: 'strcasecmp' 
>undefined; assuming extern returning int
>  
>

As above.

>h:\conrad\projects\cvs-1.12\lib\regexec.c(3030) : warning C4101: 'err' : 
>unreferenced local variable
>  
>

This is just an #if macro issue, but it does highlight that you might
want RE_ENABLE_I18N defined for Windows.  Currently, regex_internal.h
does it #if (defined MB_CUR_MAX && HAVE_LOCALE_H && HAVE_WCTYPE_H &&
HAVE_WCHAR_H && HAVE_WCRTOMB && HAVE_MBRTOWC && HAVE_WCSCOLL).

>H:\Conrad\Projects\cvs-1.12\diff\dir.c(122) : warning C4090: 'function' : 
>different 'const' qualifiers
>H:\Conrad\Projects\cvs-1.12\diff\dir.c(122) : warning C4022: 'qsort' : pointer 
>mismatch for actual parameter 1
>  
>

As near as I can tell, the POSIX spec for qsort specifies a void * first
argument, so I'm not sure how Windows figured a pointer mismatch.  Any
pointer should be accepted in place of void * without a cast.

>H:\Conrad\Projects\cvs-1.12\diff\dir.c(122) : warning C4113: 'int (__cdecl 
>*)()' differs in parameter lists from 'int (__cdecl
>*)(const void *,const void *)'
>  
>

You could fix this by coercing diff/system.h into #defining PARAMS
correctly, or you could wait until after I update the diffutils library
since this may very well go away after that.

>H:\Conrad\Projects\cvs-1.12\diff\dir.c(212) : warning C4090: 'function' : 
>different 'const' qualifiers
>H:\Conrad\Projects\cvs-1.12\diff\dir.c(212) : warning C4022: 'free' : pointer 
>mismatch for actual parameter 1
>  
>

That may or may not deserve a cast, but this is probably also worth
waiting for the upgrade of diffutils.


Regards,

Derek

-- 
Derek R. Price
CVS Solutions Architect
Ximbiot <http://ximbiot.com>
v: +1 717.579.6168
f: +1 717.234.3125
<mailto:derek@ximbiot.com>






reply via email to

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