diff options
Diffstat (limited to 'gnu/packages/patches/xlispstat-fix-compilation-with-modern-gcc.patch')
| -rw-r--r-- | gnu/packages/patches/xlispstat-fix-compilation-with-modern-gcc.patch | 213 |
1 files changed, 213 insertions, 0 deletions
diff --git a/gnu/packages/patches/xlispstat-fix-compilation-with-modern-gcc.patch b/gnu/packages/patches/xlispstat-fix-compilation-with-modern-gcc.patch new file mode 100644 index 0000000000..46825d1132 --- /dev/null +++ b/gnu/packages/patches/xlispstat-fix-compilation-with-modern-gcc.patch @@ -0,0 +1,213 @@ +From 29d14d78a17f2d85bc9e37f380e71221c2055dd8 Mon Sep 17 00:00:00 2001 +From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com> +Date: Thu, 23 Oct 2025 22:13:53 +0300 +Subject: [PATCH] src: Fix compilation with GCC version 14 or newer + +GCC version 14 now treats some deprecation warnings as errors, namely +it is not allowed to use implicit "int" types, implicit function +declarations (see <https://gcc.gnu.org/gcc-14/porting_to.html>.) In +this patch, deprecated code updated to match the new requirements of +GCC. + +* src/c/ddists.c, src/c/objects.c, src/include/sysvr4-foreign.h, +src/c/iviewdat.c, src/c/postscript.c: Explicitly specify variable +types and procedure return value types to satisfy requirements of +GCC version 14 or newer. +* src/c/X11graph.c: Likewise. +(StBlockForInput): Modernize "select" call. +* src/c/X11BSDstuff.c (line_available): Modernize "select" call. +--- + src/c/X11BSDstuff.c | 4 +++- + src/c/X11graph.c | 10 +++++++--- + src/c/ddists.c | 4 +++- + src/c/iviewdat.c | 2 +- + src/c/objects.c | 6 ++++-- + src/c/postscript.c | 7 ++++--- + src/include/sysvr4-foreign.h | 2 +- + 7 files changed, 23 insertions(+), 12 deletions(-) + +diff --git a/src/c/X11BSDstuff.c b/src/c/X11BSDstuff.c +index 5bb7144..4a9b91b 100644 +--- a/src/c/X11BSDstuff.c ++++ b/src/c/X11BSDstuff.c +@@ -3,6 +3,8 @@ + /* Additions to Xlisp 2.1, Copyright (c) 1989 by David Michael Betz */ + /* You may give out copies of this software; for conditions see the */ + /* file COPYING included with this distribution. */ ++/* Additions to XLISP-STAT 2.1, Copyright (c) 2025, */ ++/* by Artyom V. Poptsov <poptsov.artyom@gmail.com> */ + /* */ + /* Some modifications included from WINTERP */ + /* WINTERP 1.0 Copyright 1989 Hewlett-Packard Company (by Niels Mayer).*/ +@@ -549,7 +551,7 @@ LOCAL int line_available() + FD_ZERO(&readmask); + FD_SET(fileno(stdin), &readmask); + +- result = select(ndfs, (int *) &readmask, NULL, NULL, &tv); ++ result = select(ndfs, &readmask, NULL, NULL, &tv); + if (result > 0) return(TRUE); + /* *** should merge the select here with the one for blocking ***/ + else return(StBlockForInput()); +diff --git a/src/c/X11graph.c b/src/c/X11graph.c +index 70dff08..920957c 100644 +--- a/src/c/X11graph.c ++++ b/src/c/X11graph.c +@@ -1,6 +1,8 @@ + /* X11graph - X11 support for XLISP-STAT */ + /* XLISP-STAT 2.1 Copyright (c) 1990, by Luke Tierney */ + /* Additions to Xlisp 2.1, Copyright (c) 1989 by David Michael Betz */ ++/* Additions to XLISP-STAT 2.1, Copyright (c) 2025, */ ++/* by Artyom V. Poptsov <poptsov.artyom@gmail.com> */ + /* You may give out copies of this software; for conditions see the */ + /* file COPYING included with this distribution. */ + +@@ -23,8 +25,8 @@ extern VOID InstallMenuButton P2H(Window, LVAL); + extern VOID DeleteMenuButton P1H(Window); + extern VOID StX11FinishMenus(V); + extern VOID StX11FinishDialogs(V); +-extern StX11InitMenus(V); +-extern StX11InitDialogs(V); ++extern void StX11InitMenus(V); ++extern void StX11InitDialogs(V); + + extern char *getenv(); + +@@ -316,7 +318,7 @@ int StBlockForInput() + if (tmp > maxfd) maxfd = tmp; + FD_SET(maxfd, &readmask); + } +- result = select(maxfd+1, (int *) &readmask, NULL, NULL, NULL); ++ result = select(maxfd+1, &readmask, NULL, NULL, NULL); + return((FD_ISSET(fileno(stdin), &readmask)) ? TRUE : FALSE); + } + else return(FALSE); +@@ -1221,6 +1223,7 @@ VOID StWGetLocation(w, left, top, frame) + VOID StWSetSize(w, width, height, frame) + Window w; + int width, height; ++ int frame; + { + Display *dpy = StX11Display(); + StGWWinInfo *gwinfo; +@@ -1286,6 +1289,7 @@ VOID StWGetSize(w, pwidth, pheight, frame) + VOID StGWSetSize(gwinfo, width, height, frame) + StGWWinInfo *gwinfo; + int width, height; ++ int frame; + { + Window w; + if (gwinfo == NULL || (w = gwinfo->window) == NullWindow) return; +diff --git a/src/c/ddists.c b/src/c/ddists.c +index e6abeaa..dcefa23 100644 +--- a/src/c/ddists.c ++++ b/src/c/ddists.c +@@ -3,6 +3,8 @@ + /* Additions to Xlisp 2.1, Copyright (c) 1989 by David Michael Betz */ + /* You may give out copies of this software; for conditions see the */ + /* file COPYING included with this distribution. */ ++/* Additions to XLISP-STAT 2.1, Copyright (c) 2025, */ ++/* by Artyom V. Poptsov <poptsov.artyom@gmail.com> */ + + #include "xlisp.h" + #include "xlstat.h" +@@ -29,7 +31,7 @@ LOCAL VOID getpoisarg P1H(double *); + LOCAL double poisson_cdf P2H(int, double); + LOCAL int binomial_quant P3H(double, int, double); + LOCAL int poisson_quant P2H(double, double); +-LOCAL poisson_rand P1H(double); ++LOCAL int poisson_rand P1H(double); + LOCAL int binomial_rand P2H(int, double); + + /* numerical distribution function */ +diff --git a/src/c/iviewdat.c b/src/c/iviewdat.c +index 0b35e05..28fd2df 100644 +--- a/src/c/iviewdat.c ++++ b/src/c/iviewdat.c +@@ -237,7 +237,7 @@ static VOID IViewBasicPointsSetTransformation P2C(IViewBasicPoints, p, double ** + static VOID IViewBasicPointsApplyTransformation P3C(IViewBasicPoints, p, + double **, a, int *, inbasis) + { +- static maxvars = 0; ++ static int maxvars = 0; + static Fixed **b, *x, **screen_data, *screen_location; + int vars, n, i, j; + double *scale = p->scale, *location = p->location; +diff --git a/src/c/objects.c b/src/c/objects.c +index d9c61f2..1084b47 100644 +--- a/src/c/objects.c ++++ b/src/c/objects.c +@@ -3,7 +3,9 @@ + /* Additions to Xlisp 2.1, Copyright (c) 1989 by David Michael Betz */ + /* You may give out copies of this software; for conditions see the */ + /* file COPYING included with this distribution. */ +- ++/* Additions to XLISP-STAT 2.1, Copyright (c) 2025, */ ++/* by Artyom V. Poptsov <poptsov.artyom@gmail.com> */ ++ + #include "xlisp.h" + #include "xlstat.h" + +@@ -1260,7 +1262,7 @@ LVAL xsobject_isnew(V) + VOID xsaddmsg P2C(LVAL, object, char *, str) + { + LVAL fcn; +- static offset = FIRST_METHOD_OFFSET; ++ static int offset = FIRST_METHOD_OFFSET; + + xlsave1(fcn); + fcn = cvsubr(funtab[offset].fd_subr,funtab[offset].fd_type,offset); +diff --git a/src/c/postscript.c b/src/c/postscript.c +index 6ddbfb9..ea57351 100644 +--- a/src/c/postscript.c ++++ b/src/c/postscript.c +@@ -9,6 +9,7 @@ + /* pbmtops.c - read a portable bitmap and produce a PostScript bitmap file + ** + ** Copyright (C) 1988 by Jef Poskanzer. ++** Copyright (C) 2025 by Artyom V. Poptsov <poptsov.artyom@gmail.com> + ** + ** Permission to use, copy, modify, and distribute this software and its + ** documentation for any purpose and without fee is hereby granted, provided +@@ -60,7 +61,7 @@ static FILE *fp; + /**************************************************************************/ + + /* set up global variables and print the postscript preamble */ +-psputinit(file, cols, rows, scale ) ++void psputinit(file, cols, rows, scale ) + FILEP file; + int cols, rows; + double scale; +@@ -120,7 +121,7 @@ psputinit(file, cols, rows, scale ) + } + + /* enter a bit into the image */ +-psputbit(b) ++void psputbit(b) + int b; + { + if ( bitsperitem == 8 ) { +@@ -133,7 +134,7 @@ psputbit(b) + } + + /* clean up and print the showpage command */ +-psputrest( ) ++void psputrest( ) + { + if ( bitsperitem > 0 ) + putitem( ); +diff --git a/src/include/sysvr4-foreign.h b/src/include/sysvr4-foreign.h +index f40acc8..709fc6c 100644 +--- a/src/include/sysvr4-foreign.h ++++ b/src/include/sysvr4-foreign.h +@@ -16,7 +16,7 @@ LOCAL VOID link_and_load(fname, libs, fort) + char *fname, *libs; + int fort; + { +- static initialized = FALSE; ++ static int initialized = FALSE; + void *handle; + + if (! initialized) { +-- +2.51.0 + |
