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 Growing 5-Oct-2004


From: Mark D. Baushke
Subject: Re: CVS Feature Branch - Windows Build Warnings Growing 5-Oct-2004
Date: Wed, 06 Oct 2004 02:15:20 -0700

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Conrad T. Pino <Conrad@Pino.com> writes:

> The number of warnings has grown during last round of imports.



> File "lib/regex.c" seems to be the big offender with use of "free" function.
> ===============================================================================
> Deleting intermediate files and output files for project 'libcvs - Win32 
> Debug'.
> Deleting intermediate files and output files for project 'libdiff - Win32 
> Debug'.
> Deleting intermediate files and output files for project 'libz - Win32 Debug'.
> Deleting intermediate files and output files for project 'cvsnt - Win32 
> Debug'.
> Build : warning : failed to (or don't know how to) build 
> 'H:\Conrad\Projects\cvs-1.12\lib\fnmatch.h'

This was discussed on the bug-cvs and bug-gnulib lists, for example:

| From: Bruno Haible <bruno@clisp.org>
| Date: Tue, 5 Oct 2004 17:28:23 +0200
| Cc: Martin Neitzel <neitzel@sco.gaertner.de>, bug-cvs <bug-cvs@gnu.org>,
|    bug-gnulib@gnu.org
| Subject: Re: [Bug-gnulib] Re: const qualifier violation in regex.c:re_comp()
| 
| > There is another change to regex.c that was reported against regex.c
| > that might be well to fix in the GNULIB version.
| >
| > Index: lib/regex.c
| > ===================================================================
| > RCS file: /cvsroot/gnulib/gnulib/lib/regex.c,v
| > retrieving revision 1.84
| > diff -u -p -r1.84 regex.c
| > --- lib/regex.c     4 Oct 2004 21:00:42 -0000       1.84
| > +++ lib/regex.c     5 Oct 2004 14:57:42 -0000
| > @@ -4970,7 +4970,7 @@ weak_alias (__re_search_2, re_search_2)
| >  #ifdef INSIDE_RECURSION
| >
| >  #ifdef MATCH_MAY_ALLOCATE
| > -# define FREE_VAR(var) if (var) REGEX_FREE (var); var = NULL
| > +# define FREE_VAR(var) if (var) (void)REGEX_FREE ((void *)var); var = NULL
| >  #else
| >  # define FREE_VAR(var) if (var) free (var); var = NULL
| >  #endif
| 
| I vote against such changes because
| 
|   1) MSVC emits warnings for many constructs which are perfectly valid C
|      and don't indicate a bug in most cases (such as passing a 'short'
|      value as argument to a function which expects an 'int', or vice versa),
| 
|   2) The GNU standards say on this topic: "The compiler should be your 
servant,
|      not your master."
| 
| GCC's -Wall produces a reasonable set of warnings, MSVC -W2 or -W3 doesn't.
| 
| Bruno

Derek reverted the change to the FREE_VAR() macro... which re-introduced
most of the C4090/C4022 warning messages.


> --------------------Configuration: libcvs - Win32 Debug--------------------
> Performing Custom Build Step on .\alloca_.h
>         1 file(s) copied.
> Performing Custom Build Step on .\fnmatch_.h
>         1 file(s) copied.
> Compiling...
...
> dirname.c
> H:\Conrad\Projects\cvs-1.12\lib\dirname.c(56) : warning C4018: '==' : 
> signed/unsigned mismatch
...
> regex.c
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5800) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(5821) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6089) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6105) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(6181) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4090: 'function' : 
> different 'const' qualifiers
> h:\conrad\projects\cvs-1.12\lib\regex.c(7569) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> h:\conrad\projects\cvs-1.12\lib\regex.c(6816) : warning C4101: 'destination' 
> : unreferenced local variable
> h:\conrad\projects\cvs-1.12\lib\regex.c(6980) : warning C4101: 'destination' 
> : unreferenced local variable
> h:\conrad\projects\cvs-1.12\lib\regex.c(7037) : warning C4101: 'destination' 
> : unreferenced local variable
> h:\conrad\projects\cvs-1.12\lib\regex.c(7266) : warning C4101: 'destination' 
> : unreferenced local variable
> h:\conrad\projects\cvs-1.12\lib\regex.c(7279) : warning C4101: 'destination' 
> : unreferenced local variable
> save-cwd.c
> h:\conrad\projects\cvs-1.12\lib\save-cwd.c(130) : warning C4013: 'chdir' 
> undefined; assuming extern returning int
> h:\conrad\projects\cvs-1.12\lib\save-cwd.c(137) : warning C4013: 'close' 
> undefined; assuming extern returning int

The above may be a problem with what is in the windows-NT\unistd.h file
which is included in save-cwd.c ... I have committed a change which may
help you for this one.

> h:\conrad\projects\cvs-1.12\lib\strftime.c(874) : warning C4146: unary minus 
> operator applied to unsigned type, result still
...
> h:\conrad\projects\cvs-1.12\lib\vasnprintf.c(810) : warning C4018: '>=' : 
> signed/unsigned mismatch
> h:\conrad\projects\cvs-1.12\lib\vasnprintf.c(817) : warning C4018: '>=' : 
> signed/unsigned mismatch

> h:\conrad\projects\cvs-1.12\lib\xstrdup.c(33) : warning C4013: 'xclone' 
> undefined; assuming extern returning int
> h:\conrad\projects\cvs-1.12\lib\xstrdup.c(33) : warning C4047: 'return' : 
> 'char *' differs in levels of indirection from 'int '

It looks like Derek needs to add a copy of xclone to the cvs system...


> yesno.c
> Creating library...
> xmalloc.obj : warning LNK4006: _xstrdup already defined in xstrdup.obj; 
> second definition ignored
> --------------------Configuration: libdiff - Win32 Debug--------------------
> Compiling...
> analyze.c
> H:\Conrad\Projects\cvs-1.12\diff\analyze.c(430) : warning C4018: '<' : 
> signed/unsigned mismatch
> H:\Conrad\Projects\cvs-1.12\diff\analyze.c(432) : warning C4018: '<' : 
> signed/unsigned mismatch
> H:\Conrad\Projects\cvs-1.12\diff\analyze.c(469) : warning C4018: '>' : 
> signed/unsigned mismatch
> H:\Conrad\Projects\cvs-1.12\diff\analyze.c(497) : warning C4018: '<' : 
> signed/unsigned mismatch
> H:\Conrad\Projects\cvs-1.12\diff\analyze.c(506) : warning C4018: '>' : 
> signed/unsigned mismatch
> H:\Conrad\Projects\cvs-1.12\diff\analyze.c(517) : warning C4018: '>' : 
> signed/unsigned mismatch
> H:\Conrad\Projects\cvs-1.12\diff\analyze.c(537) : warning C4018: '<' : 
> signed/unsigned mismatch
> H:\Conrad\Projects\cvs-1.12\diff\analyze.c(550) : warning C4018: '<' : 
> signed/unsigned mismatch
> H:\Conrad\Projects\cvs-1.12\diff\analyze.c(568) : warning C4018: '<' : 
> signed/unsigned mismatch
> H:\Conrad\Projects\cvs-1.12\diff\analyze.c(1060) : warning C4090: 'function' 
> : different 'const' qualifiers
> H:\Conrad\Projects\cvs-1.12\diff\analyze.c(1060) : warning C4022: 'free' : 
> pointer mismatch for actual parameter 1
> cmpbuf.c
> context.c
> diff.c
> H:\Conrad\Projects\cvs-1.12\diff\diff.c(603) : warning C4013: 'error' 
> undefined; assuming extern returning int

Hmmm... this is bad... I would have expected error() to be included...


> dir.c
> H:\Conrad\Projects\cvs-1.12\diff\dir.c(114) : warning C4018: '<' : 
> signed/unsigned mismatch
> 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
> 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 *)'
> 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


The gnudiff project is the one that would need to have the above errors
corrected.

> H:\Conrad\Projects\cvs-1.12\diff\io.c(143) : warning C4018: '<' : 
> signed/unsigned mismatch
> H:\Conrad\Projects\cvs-1.12\diff\io.c(149) : warning C4018: '<' : 
> signed/unsigned mismatch



...
> Creating library...

I think you may need to 'make clean' to remove the older libcvs.lib that
might exist.

> libcvs.lib(xstrdup.obj) : warning LNK4006: _xstrdup already defined in 
> libcvs.lib(xmalloc.obj); second definition ignored
> libcvs.lib(argmatch.obj) : warning LNK4006: _argmatch already defined in 
> libcvs.lib(argmatch.obj); second definition ignored
> libcvs.lib(argmatch.obj) : warning LNK4006: _invalid_arg already defined in 
> libcvs.lib(argmatch.obj); second definition ignored
> libcvs.lib(asnprintf.obj) : warning LNK4006: _asnprintf already defined in 
> libcvs.lib(asnprintf.obj); second definition ignored
> libcvs.lib(basename.obj) : warning LNK4006: _base_name already defined in 
> libcvs.lib(basename.obj); second definition ignored
> libcvs.lib(basename.obj) : warning LNK4006: _base_len already defined in 
> libcvs.lib(basename.obj); second definition ignored
> libcvs.lib(dirname.obj) : warning LNK4006: _dir_len already defined in 
> libcvs.lib(dirname.obj); second definition ignored
> libcvs.lib(dirname.obj) : warning LNK4006: _dir_name already defined in 
> libcvs.lib(dirname.obj); second definition ignored
> libcvs.lib(exitfail.obj) : warning LNK4006: _exit_failure already defined in 
> libcvs.lib(exitfail.obj); second definition ignored
> libcvs.lib(fncase.obj) : warning LNK4006: _fncmp already defined in 
> libcvs.lib(fncase.obj); second definition ignored
> libcvs.lib(fncase.obj) : warning LNK4006: _fnfold already defined in 
> libcvs.lib(fncase.obj); second definition ignored
> libcvs.lib(fncase.obj) : warning LNK4006: _OSX_filename_classes already 
> defined in libcvs.lib(fncase.obj); second definition ignored
> libcvs.lib(fncase.obj) : warning LNK4006: _WNT_filename_classes already 
> defined in libcvs.lib(fncase.obj); second definition ignored
> libcvs.lib(fnmatch.obj) : warning LNK4006: _fnmatch already defined in 
> libcvs.lib(fnmatch.obj); second definition ignored
> libcvs.lib(fseeko.obj) : warning LNK4006: _fseeko already defined in 
> libcvs.lib(fseeko.obj); second definition ignored
> libcvs.lib(ftello.obj) : warning LNK4006: _ftello already defined in 
> libcvs.lib(ftello.obj); second definition ignored
> libcvs.lib(getdate.obj) : warning LNK4006: _get_date already defined in 
> libcvs.lib(getdate.obj); second definition ignored
> libcvs.lib(getline.obj) : warning LNK4006: _getline already defined in 
> libcvs.lib(getline.obj); second definition ignored
> libcvs.lib(getline.obj) : warning LNK4006: _getdelim already defined in 
> libcvs.lib(getline.obj); second definition ignored
> libcvs.lib(getndelim2.obj) : warning LNK4006: _getndelim2 already defined in 
> libcvs.lib(getndelim2.obj); second definition ignored
> libcvs.lib(getopt.obj) : warning LNK4006: __getopt_internal already defined 
> in libcvs.lib(getopt.obj); second definition ignored
> libcvs.lib(getopt.obj) : warning LNK4006: _getopt already defined in 
> libcvs.lib(getopt.obj); second definition ignored
> libcvs.lib(getopt.obj) : warning LNK4006: _optopt already defined in 
> libcvs.lib(getopt.obj); second definition ignored
> libcvs.lib(getopt.obj) : warning LNK4006: _opterr already defined in 
> libcvs.lib(getopt.obj); second definition ignored
> libcvs.lib(getopt.obj) : warning LNK4006: _optind already defined in 
> libcvs.lib(getopt.obj); second definition ignored
> libcvs.lib(getopt1.obj) : warning LNK4006: _getopt_long already defined in 
> libcvs.lib(getopt1.obj); second definition ignored
> libcvs.lib(getopt1.obj) : warning LNK4006: _getopt_long_only already defined 
> in libcvs.lib(getopt1.obj); second definition ignored
> libcvs.lib(gettime.obj) : warning LNK4006: _gettime already defined in 
> libcvs.lib(gettime.obj); second definition ignored
> libcvs.lib(md5.obj) : warning LNK4006: _cvs_MD5Init already defined in 
> libcvs.lib(md5.obj); second definition ignored
> libcvs.lib(md5.obj) : warning LNK4006: _cvs_MD5Update already defined in 
> libcvs.lib(md5.obj); second definition ignored
> libcvs.lib(md5.obj) : warning LNK4006: _cvs_MD5Final already defined in 
> libcvs.lib(md5.obj); second definition ignored
> libcvs.lib(md5.obj) : warning LNK4006: _cvs_MD5Transform already defined in 
> libcvs.lib(md5.obj); second definition ignored
> libcvs.lib(printf-args.obj) : warning LNK4006: _printf_fetchargs already 
> defined in libcvs.lib(printf-args.obj); second definition
> ignored
> libcvs.lib(printf-parse.obj) : warning LNK4006: _printf_parse already defined 
> in libcvs.lib(printf-parse.obj); second definition
> ignored
> libcvs.lib(realloc.obj) : warning LNK4006: _rpl_realloc already defined in 
> libcvs.lib(realloc.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _re_set_syntax already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _re_compile_fastmap already defined 
> in libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _re_set_registers already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _re_search already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _re_search_2 already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _re_match already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _re_match_2 already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _re_compile_pattern already defined 
> in libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _re_comp already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _re_exec already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _regcomp already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _regexec already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _regerror already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _regfree already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(regex.obj) : warning LNK4006: _re_max_failures already defined in 
> libcvs.lib(regex.obj); second definition ignored
> libcvs.lib(save-cwd.obj) : warning LNK4006: _save_cwd already defined in 
> libcvs.lib(save-cwd.obj); second definition ignored
> libcvs.lib(save-cwd.obj) : warning LNK4006: _restore_cwd already defined in 
> libcvs.lib(save-cwd.obj); second definition ignored
> libcvs.lib(save-cwd.obj) : warning LNK4006: _free_cwd already defined in 
> libcvs.lib(save-cwd.obj); second definition ignored
> libcvs.lib(sighandle.obj) : warning LNK4006: _SIG_beginCrSect already defined 
> in libcvs.lib(sighandle.obj); second definition
> ignored
> libcvs.lib(sighandle.obj) : warning LNK4006: _SIG_endCrSect already defined 
> in libcvs.lib(sighandle.obj); second definition ignored
> libcvs.lib(sighandle.obj) : warning LNK4006: _SIG_register already defined in 
> libcvs.lib(sighandle.obj); second definition ignored
> libcvs.lib(sighandle.obj) : warning LNK4006: _SIG_deregister already defined 
> in libcvs.lib(sighandle.obj); second definition ignored
> libcvs.lib(sighandle.obj) : warning LNK4006: _SIG_inCrSect already defined in 
> libcvs.lib(sighandle.obj); second definition ignored
> libcvs.lib(strftime.obj) : warning LNK4006: _nstrftime already defined in 
> libcvs.lib(strftime.obj); second definition ignored
> libcvs.lib(stripslash.obj) : warning LNK4006: _strip_trailing_slashes already 
> defined in libcvs.lib(stripslash.obj); second
> definition ignored
> libcvs.lib(time_r.obj) : warning LNK4006: _rpl_asctime_r already defined in 
> libcvs.lib(time_r.obj); second definition ignored
> libcvs.lib(time_r.obj) : warning LNK4006: _rpl_ctime_r already defined in 
> libcvs.lib(time_r.obj); second definition ignored
> libcvs.lib(time_r.obj) : warning LNK4006: _rpl_gmtime_r already defined in 
> libcvs.lib(time_r.obj); second definition ignored
> libcvs.lib(time_r.obj) : warning LNK4006: _rpl_localtime_r already defined in 
> libcvs.lib(time_r.obj); second definition ignored
> libcvs.lib(valloc.obj) : warning LNK4006: _valloc already defined in 
> libcvs.lib(valloc.obj); second definition ignored
> libcvs.lib(vasnprintf.obj) : warning LNK4006: _vasnprintf already defined in 
> libcvs.lib(vasnprintf.obj); second definition ignored
> libcvs.lib(xalloc-die.obj) : warning LNK4006: _xalloc_die already defined in 
> libcvs.lib(xalloc-die.obj); second definition ignored
> libcvs.lib(xgetcwd.obj) : warning LNK4006: _xgetcwd already defined in 
> libcvs.lib(xgetcwd.obj); second definition ignored
> libcvs.lib(xmalloc.obj) : warning LNK4006: _xnmalloc already defined in 
> libcvs.lib(xmalloc.obj); second definition ignored
> libcvs.lib(xmalloc.obj) : warning LNK4006: _xmalloc already defined in 
> libcvs.lib(xmalloc.obj); second definition ignored
> libcvs.lib(xmalloc.obj) : warning LNK4006: _xnrealloc already defined in 
> libcvs.lib(xmalloc.obj); second definition ignored
> libcvs.lib(xmalloc.obj) : warning LNK4006: _xrealloc already defined in 
> libcvs.lib(xmalloc.obj); second definition ignored
> libcvs.lib(xmalloc.obj) : warning LNK4006: _x2nrealloc already defined in 
> libcvs.lib(xmalloc.obj); second definition ignored
> libcvs.lib(xmalloc.obj) : warning LNK4006: _x2realloc already defined in 
> libcvs.lib(xmalloc.obj); second definition ignored
> libcvs.lib(xmalloc.obj) : warning LNK4006: _xzalloc already defined in 
> libcvs.lib(xmalloc.obj); second definition ignored
> libcvs.lib(xmalloc.obj) : warning LNK4006: _xcalloc already defined in 
> libcvs.lib(xmalloc.obj); second definition ignored
> libcvs.lib(xmalloc.obj) : warning LNK4006: _xmemdup already defined in 
> libcvs.lib(xmalloc.obj); second definition ignored
> libcvs.lib(xmalloc.obj) : warning LNK4006: _xstrdup already defined in 
> libcvs.lib(xmalloc.obj); second definition ignored
> libcvs.lib(xstrdup.obj) : warning LNK4006: _xstrdup already defined in 
> libcvs.lib(xmalloc.obj); second definition ignored
> libcvs.lib(yesno.obj) : warning LNK4006: _yesno already defined in 
> libcvs.lib(yesno.obj); second definition ignored
> --------------------Configuration: libz - Win32 Debug--------------------
....
> client.c
> H:\Conrad\Projects\cvs-1.12\src\client.c(3391) : warning C4133: 'function' : 
> incompatible types - from 'struct sockaddr_in *' to
> 'const struct sockaddr *'
> H:\Conrad\Projects\cvs-1.12\src\client.c(4685) : warning C4020: 'restore_cwd' 
> : too many actual parameters

I have committed a fix for the above two problems.

...
> exithandle.c
> H:\Conrad\Projects\cvs-1.12\src\exithandle.c(47) : warning C4028: formal 
> parameter 1 different from declaration
> H:\Conrad\Projects\cvs-1.12\src\exithandle.c(47) : warning C4024: 
> 'signals_register' : different types for formal and actual
> parameter 1

We probably need to do the 'right' thing here to make everyone happy nad
not try to share the same functions for both the signals_register() and
the atexit() functions.

...
> H:\Conrad\Projects\cvs-1.12\src\main.c(1207) : warning C4013: 'nstrftime' 
> undefined; assuming extern returning int

I am not sure why nstrftime is not providing a prototype...

...
> H:\Conrad\Projects\cvs-1.12\src\rcs.c(1530) : warning C4018: '>' : 
> signed/unsigned mismatch
...
> socket-client.c
> H:\Conrad\Projects\cvs-1.12\src\socket-client.c(92) : warning C4028: formal 
> parameter 3 different from declaration
> H:\Conrad\Projects\cvs-1.12\src\socket-client.c(92) : warning C4028: formal 
> parameter 4 different from declaration
> H:\Conrad\Projects\cvs-1.12\src\socket-client.c(92) : warning C4028: formal 
> parameter 5 different from declaration
> H:\Conrad\Projects\cvs-1.12\src\socket-client.c(92) : warning C4024: 
> 'buf_initialize' : different types for formal and actual
> parameter 3
> H:\Conrad\Projects\cvs-1.12\src\socket-client.c(93) : warning C4028: formal 
> parameter 3 different from declaration
> H:\Conrad\Projects\cvs-1.12\src\socket-client.c(93) : warning C4028: formal 
> parameter 4 different from declaration
> H:\Conrad\Projects\cvs-1.12\src\socket-client.c(93) : warning C4024: 
> 'buf_initialize' : different types for formal and actual
> parameter 4

The prototype and declaration for socket_buffer_input should probably be
using:

static int socket_buffer_input (void *, char *, size_t, size_t, size_t *);
(ie, 'size_t' rather than 'int')


...
> H:\Conrad\Projects\cvs-1.12\src\subr.c(1720) : warning C4761: integral size 
> mismatch in argument; conversion supplied

I don't see a problem on this line. A function with a char as a formal
argument is passing a char as the argument...

...
> H:\Conrad\Projects\cvs-1.12\src\zlib.c(205) : warning C4018: '>=' : 
> signed/unsigned mismatch
> Linking...
> 
> cvs.exe - 0 error(s), 213 warning(s)


        -- Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQFBY7eo3x41pRYZE/gRAgSzAKDg6pvv/5de27E2DVZ7OVSQ+Bh0IgCgjGJr
xUNO1emQM5m8s5K6AVQleh8=
=eFf4
-----END PGP SIGNATURE-----




reply via email to

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