On 2025-04-09 13:49, Brian Inglis via Cygwin wrote:
Hi folks,
Latest c-ares build failing with gcc 12.4 and Cygwin 3.6.0 header:
$ uname -srvmo
CYGWIN_NT-10.0-19045 3.6.0-1.x86_64 2025-03-18 17:01 UTC x86_64 Cygwin
$ gcc --version
gcc (GCC) 12.4.0
Copyright (C) 2022 Free Software Foundation, Inc.
...
/usr/include/sys/unistd.h:218:14: error: expected ';' before 'void'
218 | static inline void setproctitle_init (int _c, char *_a[], char *_e[])
{}
| ^~~~~
| ;
$ ll -gG /usr/include/sys/unistd.h
-rw-r--r-- 1 23K Mar 18 11:09 /usr/include/sys/unistd.h
...
215 #if defined(__CYGWIN__) && __BSD_VISIBLE
216 /* Stub for Linux libbsd compatibility. */
217 #define initsetproctitle(c, a, e) setproctitle_init((c), (a), (e))
218 static inline void setproctitle_init (int _c, char *_a[], char *_e[]) {}
219
220 void setproctitle (const char *, ...)
221 _ATTRIBUTE ((__format__ (__printf__, 1, 2)));
222 #endif
...
includes latest fix to definition; also tried with original definition.
Not seeing any obvious issues with storage class and type specifiers mentioned.
For now, build working with !defined(__CYGWIN__) hack.
No problem with other builds! Ideas welcome ;^>
Doing some more `make`-ing in that directory with permutations of specifiers,
complaint comes after `inline`; seems like it does not like `inline` anywhere in
that line, although `__inline__` works just fine!
Perhaps a patch is warranted, possibly conditional on GCC <= 12?
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut
-- Antoine de Saint-Exupéry
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple