This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Combo GCC issues with bugs
- From: "Denis Vnoukov" <imagine at rambler dot ru>
- To: "cygwin" <cygwin at cygwin dot com>
- Date: Sun, 4 Aug 2019 00:02:29 +0300
- Subject: Re: Combo GCC issues with bugs
- References: <1564865987.561926.25803.36864@mail.rambler.ru>
- Reply-to: "Denis Vnoukov" <imagine at rambler dot ru>
Yes, gcvt is legacy. But there is no one Linux distribution which has no gcvt in
the world.
Moreover gcvt present into MSVC, Intel C, mingw, etc..
It is true to have gcvt with right declaration.
FD_ZERO(&read_fd); <== with -Wold-style-cast produced real bogus and suspicious
warning which looks like bug
GetTickCount64(); <== recommended part of WINAPI and must be avail via windows.h
_BitScanReverse64 and _BitScanForward64 must be with "unsigned long *":
unsigned char _BitScanForward64(
unsigned long * Index,
unsigned __int64 Mask
);
due to ms specification as well...
--
Cheers,
\Denis
The Linux man page for gcvt says, "Marked as LEGACY in POSIX.1-2001.
POSIX.1-2008 removes the specification of gcvt(), recommending the use of
sprintf(3) instead (though snprintf(3) may be preferable)."
Cygwin's stdlib.h is consistent with this. It guards the declaration of gcvt
with
#if __XSI_VISIBLE >= 4 && __POSIX_VISIBLE < 200112
If you really need to use gcvt, I think you probably have to #define
_XOPEN_SOURCE to be 500. (I haven't tested this.)
> 2. gcvt function in all standards has declaration like:char *gcvt(double
number,
> int ndigit, char *buf);but we have a warning about "int-conversion" and get
core
> dump on line:printf("buffer: %s", str);
This is a consequence of the fact that gcvt hasn't been declared.
I haven't looked at the rest of the warnings/errors in your message, but I
suspect you can figure out the causes yourself by looking at the relevant
headers and/or by looking at the result of preprocessing. You might also find
the following helpful:
https://cygwin.com/faq.html#faq.programming.64bitporting
Ken
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple