Hi Radek,

can you send this patch, as well as the newlib patch, as git patch with
subject line commit message and Signed-off-by, please?

`git format-patch' and `git send-email' are a great help there.


Thanks,
Corinna


On Dec  3 11:32, Radek Barton via Cygwin-patches wrote:
> GCC 15 enables `-std=gnu23` by default which breaks build of `newlib` and 
> `winsup` on old-style C function declarations. This patch changes the 
> declarations to ANSI style.

> diff --git a/winsup/cygwin/libc/fts.c b/winsup/cygwin/libc/fts.c
> index 1826d2213..6f060e54e 100644
> --- a/winsup/cygwin/libc/fts.c
> +++ b/winsup/cygwin/libc/fts.c
> @@ -1111,8 +1111,7 @@ fts_padjust(FTS *sp, FTSENT *head)
>  }
>  
>  static size_t
> -fts_maxarglen(argv)
> -     char * const *argv;
> +fts_maxarglen(char * const *argv)
>  {
>       size_t len, max;
>  
> diff --git a/winsup/cygwin/libc/inet_network.c 
> b/winsup/cygwin/libc/inet_network.c
> index 43a394cf4..17b61f7aa 100644
> --- a/winsup/cygwin/libc/inet_network.c
> +++ b/winsup/cygwin/libc/inet_network.c
> @@ -56,8 +56,7 @@ __FBSDID("$FreeBSD$");
>   * network numbers.
>   */
>  in_addr_t
> -cygwin_inet_network(cp)
> -     const char *cp;
> +cygwin_inet_network(const char *cp)
>  {
>       in_addr_t val, base, n;
>       char c;
> diff --git a/winsup/testsuite/libltp/include/test.h 
> b/winsup/testsuite/libltp/include/test.h
> index 757f3b8a1..af7c3c0c8 100644
> --- a/winsup/testsuite/libltp/include/test.h
> +++ b/winsup/testsuite/libltp/include/test.h
> @@ -225,7 +225,7 @@ extern void tt_exit();
>  extern int  t_environ();
>  extern void t_breakum(char *tcid, int total, int typ, char *msg, void 
> (*fnc)());
>  
> -extern void tst_sig(int fork_flag, void (*handler)(), void (*cleanup)());
> +extern void tst_sig(int fork_flag, void (*handler)(int), void (*cleanup)());
>  extern void tst_tmpdir();
>  extern void tst_rmdir();
>  
> diff --git a/winsup/testsuite/libltp/include/usctest.h 
> b/winsup/testsuite/libltp/include/usctest.h
> index 637635a25..08db49551 100644
> --- a/winsup/testsuite/libltp/include/usctest.h
> +++ b/winsup/testsuite/libltp/include/usctest.h
> @@ -198,7 +198,7 @@ struct tblock {
>   * in the macros that follow.
>   ***********************************************************************/
>  extern struct tblock tblock;
> -extern void STD_go();
> +extern void STD_go(int);
>  extern int (*_TMP_FUNC)(void);
>  extern void STD_opts_help();
>  
> diff --git a/winsup/testsuite/libltp/include/write_log.h 
> b/winsup/testsuite/libltp/include/write_log.h
> index 784d5b3eb..505d2c08a 100644
> --- a/winsup/testsuite/libltp/include/write_log.h
> +++ b/winsup/testsuite/libltp/include/write_log.h
> @@ -154,7 +154,7 @@ extern int        wlog_close(struct wlog_file *wfile);
>  extern int   wlog_record_write(struct wlog_file *wfile,
>                                 struct wlog_rec *wrec, long offset);
>  extern int   wlog_scan_backward(struct wlog_file *wfile, int nrecs,
> -                                int (*func)(struct wlog_rec *rec),
> +                                int (*func)(struct wlog_rec *rec, long),
>                                  long data);
>  #else
>  int  wlog_open();
> diff --git a/winsup/testsuite/libltp/lib/dataascii.c 
> b/winsup/testsuite/libltp/lib/dataascii.c
> index 5bc201852..41ed440c0 100644
> --- a/winsup/testsuite/libltp/lib/dataascii.c
> +++ b/winsup/testsuite/libltp/lib/dataascii.c
> @@ -43,11 +43,12 @@
>  static char Errmsg[80];
>  
>  int
> -dataasciigen(listofchars, buffer, bsize, offset)
> -char *listofchars;   /* a null terminated list of characters */
> -char *buffer;
> -int bsize;
> -int offset;
> +dataasciigen(
> +     char *listofchars,      /* a null terminated list of characters */
> +     char *buffer,
> +     int bsize,
> +     int offset
> +)
>  {
>     int cnt;
>     int total;
> @@ -78,12 +79,13 @@ int offset;
>  }    /* end of dataasciigen */
>  
>  int
> -dataasciichk(listofchars, buffer, bsize, offset, errmsg)
> -char *listofchars;   /* a null terminated list of characters */
> -char *buffer;
> -int bsize;
> -int offset;
> -char **errmsg;
> +dataasciichk(
> +     char *listofchars,      /* a null terminated list of characters */
> +     char *buffer,
> +     int bsize,
> +     int offset,
> +     char **errmsg
> +)
>  {
>     int cnt;
>     int total;
> diff --git a/winsup/testsuite/libltp/lib/databin.c 
> b/winsup/testsuite/libltp/lib/databin.c
> index e43fef4e4..6cf27f77c 100644
> --- a/winsup/testsuite/libltp/lib/databin.c
> +++ b/winsup/testsuite/libltp/lib/databin.c
> @@ -42,11 +42,12 @@
>  static char Errmsg[80];
>  
>  void
> -databingen (mode, buffer, bsize, offset)
> -int mode;    /* either a, c, r, o, z or C */
> -unsigned char *buffer;       /* buffer pointer */
> -int bsize;   /* size of buffer */
> -int offset;  /* offset into the file where buffer starts */
> +databingen (
> +    int mode,        /* either a, c, r, o, z or C */
> +    unsigned char *buffer,   /* buffer pointer */
> +    int bsize,       /* size of buffer */
> +    int offset       /* offset into the file where buffer starts */
> +)
>  {
>  int ind;
>  
> @@ -89,12 +90,13 @@ int ind;
>   *      < 0  : no error
>   ***********************************************************************/
>  int
> -databinchk(mode, buffer, bsize, offset, errmsg)
> -int mode;    /* either a, c, r, z, o, or C */
> -unsigned char *buffer;       /* buffer pointer */
> -int bsize;   /* size of buffer */
> -int offset;  /* offset into the file where buffer starts */
> -char **errmsg;
> +databinchk(
> +    int mode,        /* either a, c, r, z, o, or C */
> +    unsigned char *buffer,   /* buffer pointer */
> +    int bsize,       /* size of buffer */
> +    int offset,      /* offset into the file where buffer starts */
> +    char **errmsg
> +)
>  {
>      int cnt;
>      unsigned char *chr;
> diff --git a/winsup/testsuite/libltp/lib/datapid.c 
> b/winsup/testsuite/libltp/lib/datapid.c
> index 9414eae90..ca091311b 100644
> --- a/winsup/testsuite/libltp/lib/datapid.c
> +++ b/winsup/testsuite/libltp/lib/datapid.c
> @@ -83,11 +83,12 @@ static char Errmsg[80];
>   * Thus, offset 8 is in middle of word 1
>   ***********************************************************************/
>  int
> -datapidgen(pid, buffer, bsize, offset)
> -int pid;
> -char *buffer;
> -int bsize;
> -int offset;
> +datapidgen(
> +    int pid,
> +    char *buffer,
> +    int bsize,
> +    int offset
> +)
>  {
>  #if CRAY
>       
> @@ -178,12 +179,13 @@ printf("partial at end\n");
>   *
>   ***********************************************************************/
>  int
> -datapidchk(pid, buffer, bsize, offset, errmsg)
> -int pid;
> -char *buffer;
> -int bsize;
> -int offset;
> -char **errmsg;
> +datapidchk(
> +    int pid,
> +    char *buffer,
> +    int bsize,
> +    int offset,
> +    char **errmsg
> +)
>  {
>  #if CRAY
>       
> diff --git a/winsup/testsuite/libltp/lib/forker.c 
> b/winsup/testsuite/libltp/lib/forker.c
> index 99bc58550..65f1036a3 100644
> --- a/winsup/testsuite/libltp/lib/forker.c
> +++ b/winsup/testsuite/libltp/lib/forker.c
> @@ -133,8 +133,7 @@ int Forker_npids=0;             /* number of entries in 
> Forker_pids */
>   *  !0 : if fork failed, the return value will be the errno.
>   ***********************************************************************/
>  int
> -background(prefix)
> -char *prefix;
> +background(char *prefix)
>  {
>    switch (fork()) {
>    case -1:
> @@ -159,12 +158,13 @@ char *prefix;
>   * 
>   ***********************************************************************/
>  int
> -forker(ncopies, mode, prefix)
> -int ncopies;
> -int mode;    /* 0 - all childern of parent, 1 - only 1 direct child */
> -char *prefix;   /* if ! NULL, an message will be printed to stderr */
> -             /* if fork fails.  The prefix (program name) will */
> -             /* preceed the message */
> +forker(
> +     int ncopies,
> +     int mode,               /* 0 - all childern of parent, 1 - only 1 
> direct child */
> +     char *prefix    /* if ! NULL, an message will be printed to stderr */
> +                                     /* if fork fails.  The prefix (program 
> name) will */
> +                                     /* preceed the message */
> +)
>  {
>      int cnt;
>      int pid;
> diff --git a/winsup/testsuite/libltp/lib/parse_opts.c 
> b/winsup/testsuite/libltp/lib/parse_opts.c
> index 1f41bfdd2..0d1b80247 100644
> --- a/winsup/testsuite/libltp/lib/parse_opts.c
> +++ b/winsup/testsuite/libltp/lib/parse_opts.c
> @@ -198,7 +198,11 @@ int STD_ERRNO_LIST[USC_MAX_ERRNO];
>  #define STRLEN 2048
>  
>  static char Mesg2[STRLEN];   /* holds possible return string */
> -static void usc_recressive_func();
> +static void usc_recressive_func(
> +     int cnt,
> +     int max,
> +     struct usc_bigstack_t **bstack
> +);
>  
>  /*
>   * Define bits for options that might have env variable default
> @@ -633,7 +637,7 @@ usc_global_setup_hook()
>      if ( STD_PAUSE ) {                                      
>          _TMP_FUNC = (int (*)())signal(SIGUSR1, STD_go);   
>          pause();                                          
> -        signal(SIGUSR1, (void (*)())_TMP_FUNC);          
> +        signal(SIGUSR1, (_sig_func_ptr)_TMP_FUNC);          
>      }
>  
>  
> @@ -693,8 +697,7 @@ get_current_time()
>   * counter integer is supplied by the user program.
>   ***********************************************************************/
>  int
> -usc_test_looping(counter)
> -int counter;
> +usc_test_looping(int counter)
>  {
>      static int first_time = 1;
>      static int stop_time = 0;        /* stop time in rtc or usecs */
> @@ -803,10 +806,11 @@ int counter;
>   * This function recressively calls itself max times.
>   */ 
>  static void
> -usc_recressive_func(cnt, max, bstack)
> -int cnt;
> -int max;
> -struct usc_bigstack_t bstack;
> +usc_recressive_func(
> +    int cnt,
> +    int max,
> +    struct usc_bigstack_t **bstack
> +)
>  {
>      if ( cnt < max )
>       usc_recressive_func(cnt+1, max, bstack);
> diff --git a/winsup/testsuite/libltp/lib/pattern.c 
> b/winsup/testsuite/libltp/lib/pattern.c
> index 7f4d5873e..5a88bfd3b 100644
> --- a/winsup/testsuite/libltp/lib/pattern.c
> +++ b/winsup/testsuite/libltp/lib/pattern.c
> @@ -38,12 +38,13 @@
>   */
>  
>  int
> -pattern_check(buf, buflen, pat, patlen, patshift)
> -char *buf;
> -int  buflen;
> -char *pat;
> -int  patlen;
> -int  patshift;
> +pattern_check(
> +     char *buf,
> +     int     buflen,
> +     char *pat,
> +     int     patlen,
> +     int     patshift
> +)
>  {
>      int              nb, ncmp, nleft;
>      char     *cp;
> @@ -105,12 +106,13 @@ int     patshift;
>  }
>  
>  int
> -pattern_fill(buf, buflen, pat, patlen, patshift)
> -char *buf;
> -int  buflen;
> -char *pat;
> -int  patlen;
> -int  patshift;
> +pattern_fill(
> +     char *buf,
> +     int     buflen,
> +     char *pat,
> +     int     patlen,
> +     int     patshift
> +)
>  {
>      int              trans, ncopied, nleft;
>      char     *cp;
> diff --git a/winsup/testsuite/libltp/lib/search_path.c 
> b/winsup/testsuite/libltp/lib/search_path.c
> index 697b4037b..f6936094a 100644
> --- a/winsup/testsuite/libltp/lib/search_path.c
> +++ b/winsup/testsuite/libltp/lib/search_path.c
> @@ -103,11 +103,12 @@ char **argv;
>  /*
>   */
>  int
> -search_path(cmd, res_path, access_mode, fullpath)
> -const char *cmd;     /* The requested filename */
> -char *res_path; /* The resulting path or error mesg */
> -int access_mode; /* the mode used by access(2) */
> -int fullpath;        /* if set, cwd will be prepended to all non-full paths 
> */
> +search_path(
> +     const char *cmd,        /* The requested filename */
> +     char *res_path,         /* The resulting path or error mesg */
> +     int access_mode,        /* the mode used by access(2) */
> +     int fullpath            /* if set, cwd will be prepended to all 
> non-full paths */
> +)
>  {
>      char *cp;   /* used to scan PATH for directories */
>      int ret;      /* return value from access */
> diff --git a/winsup/testsuite/libltp/lib/str_to_bytes.c 
> b/winsup/testsuite/libltp/lib/str_to_bytes.c
> index beecb71b6..70157dcde 100644
> --- a/winsup/testsuite/libltp/lib/str_to_bytes.c
> +++ b/winsup/testsuite/libltp/lib/str_to_bytes.c
> @@ -75,8 +75,7 @@
>  #define T_MULT       1099511627776   /* tera or 2^40 */
>  
>  int
> -str_to_bytes(s)
> -char    *s;
> +str_to_bytes(char *s)
>  {
>      char    mult, junk;
>      int          nconv;
> @@ -110,8 +109,7 @@ char    *s;
>  }
>  
>  long
> -str_to_lbytes(s)
> -char    *s;
> +str_to_lbytes(char *s)
>  {
>      char    mult, junk;
>      long    nconv;
> @@ -150,8 +148,7 @@ char    *s;
>   */
>  
>  long long
> -str_to_llbytes(s)
> -char    *s;
> +str_to_llbytes(char *s)
>  {
>      char    mult, junk;
>      long    nconv;
> diff --git a/winsup/testsuite/libltp/lib/string_to_tokens.c 
> b/winsup/testsuite/libltp/lib/string_to_tokens.c
> index 6f0d775dd..a2b3a7617 100644
> --- a/winsup/testsuite/libltp/lib/string_to_tokens.c
> +++ b/winsup/testsuite/libltp/lib/string_to_tokens.c
> @@ -80,7 +80,7 @@ int
>  string_to_tokens(char *arg_string, char *arg_array[], int array_size, char 
> *separator)
>  {
>     int num_toks = 0;  /* number of tokens found */
> -   char *strtok();
> +   char *strtok(char *, const char *);
>       
>     if ( arg_array == NULL || array_size <= 1 || separator == NULL )
>       return -1;
> diff --git a/winsup/testsuite/libltp/lib/tst_res.c 
> b/winsup/testsuite/libltp/lib/tst_res.c
> index 99767ec9b..731dcbc1b 100644
> --- a/winsup/testsuite/libltp/lib/tst_res.c
> +++ b/winsup/testsuite/libltp/lib/tst_res.c
> @@ -563,8 +563,6 @@ tst_exit()
>  int
>  tst_environ()
>  {
> -   FILE *fdopen();
> -
>     if ( (T_out = fdopen(dup(fileno(stdout)), "w")) == NULL )
>        return(-1);
>     else
> diff --git a/winsup/testsuite/libltp/lib/tst_sig.c 
> b/winsup/testsuite/libltp/lib/tst_sig.c
> index f5b64b666..976b5eecb 100644
> --- a/winsup/testsuite/libltp/lib/tst_sig.c
> +++ b/winsup/testsuite/libltp/lib/tst_sig.c
> @@ -81,7 +81,7 @@
>  void (*T_cleanup)();         /* pointer to cleanup function */
>  
>  extern int errno;
> -static void def_handler();           /* default signal handler */
> +static void def_handler(int);                /* default signal handler */
>  
>  /****************************************************************************
>   * tst_sig() : set-up to catch unexpected signals.  fork_flag is set to 
> NOFORK
> @@ -93,7 +93,7 @@ static void def_handler();          /* default signal 
> handler */
>   ***************************************************************************/
>  
>  void
> -tst_sig(int fork_flag, void (*handler)(), void (*cleanup)())
> +tst_sig(int fork_flag, void (*handler)(int), void (*cleanup)())
>  {
>       char mesg[MAXMESG];             /* message buffer for tst_res */
>       int sig;
> diff --git a/winsup/testsuite/libltp/lib/write_log.c 
> b/winsup/testsuite/libltp/lib/write_log.c
> index 8104b05ac..bfbf6adfa 100644
> --- a/winsup/testsuite/libltp/lib/write_log.c
> +++ b/winsup/testsuite/libltp/lib/write_log.c
> @@ -115,10 +115,11 @@ static int      wlog_rec_unpack();
>   */
>  
>  int
> -wlog_open(wfile, trunc, mode)
> -struct wlog_file     *wfile;
> -int                  trunc;
> -int                  mode;
> +wlog_open(
> +     struct wlog_file *wfile,
> +     int trunc,
> +     int mode
> +)
>  {
>       int     omask, oflags;
>  
> @@ -166,8 +167,7 @@ int                       mode;
>   */
>  
>  int
> -wlog_close(wfile)
> -struct wlog_file     *wfile;
> +wlog_close(struct wlog_file *wfile)
>  {
>       close(wfile->w_afd);
>       close(wfile->w_rfd);
> @@ -201,10 +201,11 @@ struct wlog_file        *wfile;
>   */
>  
>  int
> -wlog_record_write(wfile, wrec, offset)
> -struct wlog_file     *wfile;
> -struct wlog_rec              *wrec;
> -long                 offset;
> +wlog_record_write(
> +     struct wlog_file *wfile,
> +     struct wlog_rec *wrec,
> +     long offset
> +)
>  {
>      int              reclen;
>      char     wbuf[WLOG_REC_MAX_SIZE + 2];
> @@ -249,11 +250,12 @@ long                    offset;
>   */
>  
>  int
> -wlog_scan_backward(wfile, nrecs, func, data)
> -struct wlog_file     *wfile;
> -int                  nrecs;
> -int                  (*func)();
> -long                 data;
> +wlog_scan_backward(
> +     struct wlog_file *wfile,
> +     int nrecs,
> +     int (*func)(struct wlog_rec*, long),
> +     long data
> +)
>  {
>       int             fd, leftover, nbytes, recnum, reclen, rval;
>       off_t           offset;
> @@ -381,10 +383,11 @@ long                    data;
>   */
>  
>  static int
> -wlog_rec_pack(wrec, buf, flag)
> -struct wlog_rec      *wrec;
> -char         *buf;
> -int             flag;
> +wlog_rec_pack(
> +     struct wlog_rec *wrec,
> +     char *buf,
> +     int flag
> +)
>  {
>       char                    *file, *host, *pattern;
>       struct wlog_rec_disk    *wrecd;
> @@ -430,9 +433,10 @@ int             flag;
>  }
>  
>  static int
> -wlog_rec_unpack(wrec, buf)
> -struct wlog_rec      *wrec;
> -char         *buf;
> +wlog_rec_unpack(
> +     struct wlog_rec *wrec,
> +     char *buf
> +)
>  {
>       char                    *file, *host, *pattern;
>       struct wlog_rec_disk    *wrecd;

Reply via email to