diff options
author | Ulrich Müller <ulm@gentoo.org> | 2020-06-23 12:46:02 +0200 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2020-06-23 12:46:19 +0200 |
commit | 11f375b2016fb01c6407cff3cf857b09578d2028 (patch) | |
tree | 988dea8641180997d789cb40996dba5369fe6335 | |
parent | app-editors/jasspa-microemacs: Do not try to detect cc or gcc. (diff) | |
download | gentoo-11f375b2016fb01c6407cff3cf857b09578d2028.tar.gz gentoo-11f375b2016fb01c6407cff3cf857b09578d2028.tar.bz2 gentoo-11f375b2016fb01c6407cff3cf857b09578d2028.zip |
app-editors/teco: Fix compile errors with clang.
Closes: https://bugs.gentoo.org/729254
Package-Manager: Portage-2.3.101, Repoman-2.3.22
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
-rw-r--r-- | app-editors/teco/files/teco-void-functions.patch | 536 | ||||
-rw-r--r-- | app-editors/teco/teco-36_p19940820.ebuild | 1 |
2 files changed, 537 insertions, 0 deletions
diff --git a/app-editors/teco/files/teco-void-functions.patch b/app-editors/teco/files/teco-void-functions.patch new file mode 100644 index 000000000000..f8a1d7ad346e --- /dev/null +++ b/app-editors/teco/files/teco-void-functions.patch @@ -0,0 +1,536 @@ +https://bugs.gentoo.org/729254 + +--- teco-orig/te_chario.c ++++ teco/te_chario.c +@@ -24,6 +24,8 @@ + #define SIGINTMASK 2 + #endif + ++void crlf(), type_char(); ++ + int lf_sw; /* nonzero: make up a LF following an entered CR */ + int ttyflags; /* flags for (stdin) file descriptor */ + #ifndef _POSIX_SOURCE +@@ -44,6 +46,7 @@ + /* operation; normal mode is none of the above. TTY_OFF and TTY_ON do this */ + /* absolutely; TTY_SUSP and TTY_RESUME use saved signal status. */ + ++void + setup_tty(arg) + int arg; + { +@@ -213,6 +216,7 @@ + #ifdef _POSIX_SOURCE + sigset_t oldmask; + ++void + block_inter(func) + int func; + { +@@ -313,6 +317,7 @@ + + /* type a crlf */ + ++void + crlf() + { + type_char(CR); +@@ -340,6 +345,7 @@ + + /* routine to type one character */ + ++void + type_char(c) + char c; + { +--- teco-orig/te_defs.h ++++ teco/te_defs.h +@@ -320,7 +320,7 @@ + extern char mapch[], mapch_l[]; /* char mapping tables */ + extern unsigned char spec_chars[]; /* special character table */ + +-extern char skipto(), find_endcond(), getcmdc(), getcmdc0(); /* routines that return chars */ ++extern char skipto(), getcmdc(), getcmdc0(); /* routines that return chars */ + + extern FILE *eisw; /* indirect command file pointer */ + extern FILE *fopen(); +--- teco-orig/te_exec0.c ++++ teco/te_exec0.c +@@ -8,6 +8,7 @@ + #include <time.h> + #include <sys/time.h> + ++void + exec_cmdstr() + { + char c; +--- teco-orig/te_exec1.c ++++ teco/te_exec1.c +@@ -6,6 +6,7 @@ + /* version for multiple buffers 04/13/89 15.55 */ + #include "te_defs.h" + ++void + exec_cmds1() + { + char command; /* command character */ +--- teco-orig/te_exec2.c ++++ teco/te_exec2.c +@@ -12,6 +12,9 @@ + #include <sys/types.h> + #include <sys/stat.h> + ++void do_en_next(), set_var(), write_file(), write_stream(); ++void kill_output(), pop_iteration(), find_enditer(), find_endcond(); ++ + struct qh oldcstring; /* hold command string during ei */ + + /* file stuff for input/output files */ +@@ -26,6 +29,7 @@ + + /* process E commands */ + ++void + do_e() + { + char c; /* temps */ +@@ -567,6 +571,7 @@ + + /* routine to get next file spec from "EN" list into filespec buffer */ + ++void + do_en_next() + { + char c; +@@ -669,6 +674,7 @@ + + /* fetch or set variable */ + ++void + set_var(arg) + int *arg; /* argument is pointer to variable */ + { +@@ -764,6 +770,7 @@ + /* arguments are qp to start of text, number of characters, */ + /* and an "append FF" switch */ + ++void + write_file(wbuff, nchars, ffsw) + struct qp *wbuff; + int nchars, ffsw; +@@ -779,6 +786,7 @@ + /* Unix processes. Arguments wbuff, nchars as above; file */ + /* is stream pointer, crlf_sw zero converts CRLF to LF */ + ++void + write_stream(file, wbuff, nchars, crlf_sw) + FILE *file; + struct qp *wbuff; +@@ -809,6 +817,7 @@ + + /* routine to kill output file: argument is pointer to an output file structure */ + ++void + kill_output(outptr) + struct outfiledata *outptr; + { +@@ -825,6 +834,7 @@ + + char panic_name[] = "TECO_SAVED.tmp"; /* name of file created to save buffer */ + ++void + panic() + { + if (!outfile->fd && pbuff->z) outfile->fd = fopen(panic_name, "w"); /* if buffer nonempty and no file open, make one */ +@@ -838,6 +848,7 @@ + + /* do "F" commands */ + ++void + do_f() + { + struct buffcell *delete_p; +@@ -954,6 +965,7 @@ + /* pop iteration: if arg nonzero, exit unconditionally */ + /* else check exit conditions and exit or reiterate */ + ++void + pop_iteration(arg) + int arg; + { +@@ -973,6 +985,7 @@ + + /* find end of iteration - read over arbitrary <> and one > */ + ++void + find_enditer() + { + register int icnt; +@@ -988,7 +1001,8 @@ + + + /* find end of conditional */ +-char find_endcond(arg) ++void ++find_endcond(arg) + char arg; + { + register int icnt; +--- teco-orig/te_main.c ++++ teco/te_main.c +@@ -44,6 +44,8 @@ + + #include "te_defs.h" + ++void cleanup(), print_string(), save_args(), read_startup(), get_term_par(); ++ + main(argc, argv) + int argc; /* arg count */ + char *argv[]; /* array of string pointers */ +@@ -103,6 +105,7 @@ + + /* reset screen state, keyboard state; remove open output files */ + ++void + cleanup() + { + window(WIN_OFF); /* restore screen */ +@@ -115,6 +118,7 @@ + /* print string for error message */ + /* argument is subscript of a qreg qh, prints text from that buffer */ + ++void + print_string(arg) + int arg; + { +@@ -137,6 +141,7 @@ + + /* copy invocation command line to a text buffer */ + ++void + save_args(argc, argv, q) + int argc; + char *argv[]; +@@ -171,6 +176,7 @@ + + char startup_name[] = "/.tecorc"; /* name of startup file */ + ++void + read_startup() + { + char *hp, *getenv(); +@@ -192,6 +198,7 @@ + + /* routine to get terminal height and width from termcap */ + ++void + get_term_par() + { + char tbuff[1024]; /* termcap buffer */ +--- teco-orig/te_rdcmd.c ++++ teco/te_rdcmd.c +@@ -6,6 +6,7 @@ + /* version for multiple buffers 04/13/89 10.22 */ + #include "te_defs.h" + ++void retype_cmdstr(); + int ccount; /* count of chars read in */ + + int read_cmdstr() +@@ -227,6 +228,7 @@ + + /* retype command string: entirely (arg = '*') or most recent line (arg = ' ') */ + ++void + retype_cmdstr(c) + char c; + { +--- teco-orig/te_subs.c ++++ teco/te_subs.c +@@ -17,6 +17,7 @@ + /* n is the returned number of chars moved */ + /* max is the maximum number of chars to move */ + ++void + movenchars(from, to, n) + struct qp *from, *to; /* address of buffer pointers */ + register int n; /* number of characters */ +@@ -69,6 +70,7 @@ + } + } + ++void + moveuntil(from, to, c, n, max, trace) + struct qp *from, *to; /* address of buffer pointers */ + register char c; /* match char that ends move */ +@@ -249,6 +251,7 @@ + /* leaves bb pointing to end of that text */ + /* insert2() copies rest of buffer */ + ++void + insert1() + { + int nchars; /* number of chars in cell */ +@@ -269,6 +272,7 @@ + + + ++void + insert2(count) /* count is the number of chars added */ + int count; + { +@@ -289,6 +293,7 @@ + /* subroutine to delete n characters starting at dot */ + /* argument is number of characters */ + ++void + delete1(nchars) + int nchars; + { +@@ -314,6 +319,7 @@ + + struct qh obuff; /* tag string buffer */ + ++void + do_o() + { + int i, j; /* i used as start of tag, j as end */ +@@ -460,6 +466,7 @@ + + /* find number of characters to next matching (, [, or { (like '%' in vi) */ + ++void + do_ctlp() + { + int i, l; +--- teco-orig/te_utils.c ++++ teco/te_utils.c +@@ -37,6 +37,7 @@ + + + /* free a list of buffcells */ ++void + free_blist(p) + struct buffcell *p; + { +@@ -51,6 +52,7 @@ + } + + /* free a list of buffcells to the "delayed free" list */ ++void + dly_free_blist(p) + struct buffcell *p; + { +@@ -92,6 +94,7 @@ + + + /* free a list of cells */ ++void + free_dlist(p) + struct qp *p; + { +@@ -107,6 +110,7 @@ + + /* build a buffer: called with address of a qh */ + /* if no buffer there, get a cell and link it in */ ++void + make_buffer(p) + struct qh *p; + { +@@ -178,6 +182,7 @@ + + /* set up a pointer to a particular text buffer position */ + ++void + set_pointer(pos, ptr) /* first arg is position, 2nd is addr of pointer */ + int pos; + struct qp *ptr; +--- teco-orig/te_window.c ++++ teco/te_window.c +@@ -21,6 +21,10 @@ + #define MAX 0x7fffffff /* maximum positive integer, for "last modified" location */ + #define W_MARK 0200 /* "this loc is special" in screen image */ + ++void window(), window0(), window1_both(), window1(), window1_abs(); ++void window1_inc(), window1_after(), w_rmcurs(), window2(), vtm(); ++void w_makecurs(), w_type(), w_init(), w_separators(), w_move(); ++void w_scroll(), w_ebol(); + + /* image of current window */ + +@@ -74,6 +78,7 @@ + /* routine to perform simple scope operations */ + /* (an attempt to concentrate VT-100 specific things in one place) */ + ++void + vt(func) + int func; + { +@@ -132,6 +137,7 @@ + int win_max[] = { 4, W_MAX_H, W_MAX_V, 1, MAX, 12, -1, 20, 20, -1, -1 } ; /* max values */ + int win_data[] = { 4, 132, 24, 0, 0, 0, 0, 0, 0, 0, 0 } ; /* window parameters */ + ++void + do_window(ref_flag) + int ref_flag; /* nonzero forces "refresh" operation */ + { +@@ -196,6 +202,7 @@ + /* routine to update screen size with numbers obtained from environment */ + /* (called by main program's initialization) */ + ++void + set_term_par(lines, cols) + int lines, cols; + { +@@ -215,6 +222,7 @@ + /* WIN_LINE: does WIN_REFR unless that wouldn't do anything, in which case */ + /* it does effective 1EV output */ + ++void + window(arg) + int arg; + { +@@ -288,6 +296,7 @@ + /* used for ev, es, and <BS> or <LF> as immediate commands */ + /* starting char position is in w_p1; argument is number of lines */ + ++void + window0(num) + int num; + { +@@ -364,6 +373,7 @@ + + struct bh *old_pbuff; + ++void + window1_both() + { + pw0 = &win_1; +@@ -396,6 +406,7 @@ + /* if scroll mode is enabled, the VT100 screen is split and only the upper part */ + /* is used by this routine; else the whole screen is used. */ + ++void + window1() + { + int i, j, m, lflag; +@@ -500,6 +511,7 @@ + + /* routine to redraw screen absolutely */ + ++void + window1_abs() + { + int i, j; +@@ -531,6 +543,7 @@ + + /* redraw screen incrementally */ + ++void + window1_inc(wd) + int wd; /* argument is earliest change */ + { +@@ -559,6 +572,7 @@ + + /* routine to move window downwards: scroll up or redraw as appropriate */ + ++void + window1_after() + { + int i, lflag; +@@ -591,6 +605,7 @@ + + /* routine to remove the existing cursor */ + ++void + w_rmcurs() + { + register struct w_data *pw = pw0; +@@ -609,6 +624,7 @@ + /* called with w_p1 at starting char, curr_y, curr_x at starting coordinate */ + /* rewrites to end of screen if arg = 0, or only until line with cursor if arg = 1 */ + ++void + window2(arg) + int arg; + { +@@ -794,6 +810,7 @@ + + /* routine to move cursor to current location and then call vt */ + ++void + vtm(arg) + int arg; + { +@@ -807,6 +824,7 @@ + /* routine to set reverse video and save cursor location */ + /* first argument is char at cursor, 2nd is value for curs_crflag */ + ++void + w_makecurs(wc, crflag) + char wc; + short crflag; +@@ -851,6 +869,7 @@ + /* routine to type one character: arguments are char and a */ + /* "mark" bit. If mark is set, the char is always retyped */ + ++void + w_type(c, m) + char c; + int m; +@@ -875,6 +894,7 @@ + + /* initialize display image */ + ++void + w_init() + { + short i, j; +@@ -907,6 +927,7 @@ + + /* write separator lines between windows on screen */ + ++void + w_separators() + { + int i; +@@ -929,6 +950,7 @@ + /* put character followed by appropriate number of nulls for "other control function" */ + /* if argument is 0, output filler chars only */ + ++void + putchar_d(c) + char c; + { +@@ -942,6 +964,7 @@ + + /* put out appropriate number of filler chars for display function that scrolls (LF, etc.) */ + ++void + scroll_dly() + { + int i; +@@ -952,6 +975,7 @@ + /* move terminal cursor to stated y, x position */ + /* uses incremental moves or absolute cursor position, whichever is shorter */ + ++void + w_move(y, x) + short y, x; + { +@@ -993,6 +1017,7 @@ + + /* scroll screen: argument is count: + up, - down */ + ++void + w_scroll(count) + int count; + { +@@ -1025,6 +1050,7 @@ + /* clear line to left of curr_x */ + /* if some chars nonblank, does erase from start of line */ + ++void + w_ebol() + { + short i, j; diff --git a/app-editors/teco/teco-36_p19940820.ebuild b/app-editors/teco/teco-36_p19940820.ebuild index 4dd048a4f2d5..cb7d37feb456 100644 --- a/app-editors/teco/teco-36_p19940820.ebuild +++ b/app-editors/teco/teco-36_p19940820.ebuild @@ -26,6 +26,7 @@ PATCHES=( "${FILESDIR}"/${PN}-gcc4.patch "${FILESDIR}"/${PN}-warnings.patch "${FILESDIR}"/${PN}-no-common.patch + "${FILESDIR}"/${PN}-void-functions.patch ) src_prepare() { |