From cdc8971673a18124f3e83d95529ea15bc375e990 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Tue, 29 Aug 2017 22:41:29 +0200 Subject: [PATCH] rcs: Build with clang using patch from upstream --- packages/rcs/build.sh | 1 - packages/rcs/noreturn.patch | 84 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 packages/rcs/noreturn.patch diff --git a/packages/rcs/build.sh b/packages/rcs/build.sh index cfe21d73..32140a2e 100644 --- a/packages/rcs/build.sh +++ b/packages/rcs/build.sh @@ -4,4 +4,3 @@ TERMUX_PKG_VERSION=5.9.4 TERMUX_PKG_SRCURL=http://gnu.uberglobalmirror.com/rcs/rcs-$TERMUX_PKG_VERSION.tar.xz TERMUX_PKG_BUILD_IN_SRC=yes TERMUX_PKG_SHA256=063d5a0d7da1821754b80c639cdae2c82b535c8ff4131f75dc7bbf0cd63a5dff -TERMUX_PKG_CLANG=no diff --git a/packages/rcs/noreturn.patch b/packages/rcs/noreturn.patch new file mode 100644 index 00000000..4d176a68 --- /dev/null +++ b/packages/rcs/noreturn.patch @@ -0,0 +1,84 @@ +From 260704a9164dd34cf7128d6b1e88075ffa3be054 Mon Sep 17 00:00:00 2001 +From: Thien-Thi Nguyen +Date: Thu, 18 Jun 2015 19:25:53 +0000 +Subject: [C slog] Move ‘exiting’ to beginning of func decl. + +Apparently, ‘gcc --std=c11’ does not abide the ‘exiting’ +attribute appearing at the end of the func decl. +Reported by Romain Francoise. +See also . + +* src/b-complain.h (generic_fatal, fatal_syntax, fatal_sys) +* src/b-fb.h (Ierror, Oerror) +* src/base.h (unexpected_EOF, thank_you_and_goodnight): +Move ‘exiting’ attribute to beginning of func decl. +--- +diff --git a/src/b-complain.h b/src/b-complain.h +index 0ffd157..ea0ffc5 100644 +--- a/src/b-complain.h ++++ b/src/b-complain.h +@@ -32,12 +32,14 @@ extern void generic_warn (char const *who, char const *fmt, ...) + printf_string (2, 3); + extern void generic_error (char const *who, char const *fmt, ...) + printf_string (2, 3); ++exiting + extern void generic_fatal (char const *who, char const *fmt, ...) +- printf_string (2, 3) exiting; ++ printf_string (2, 3); ++exiting + extern void fatal_syntax (size_t lno, char const *fmt, ...) +- printf_string (2, 3) exiting; +-extern void fatal_sys (char const *who) +- exiting; ++ printf_string (2, 3); ++exiting ++extern void fatal_sys (char const *who); + + /* Idioms. Here, prefix P stands for "program" (general operation); + M for "manifestation"; R for "repository". */ +diff --git a/src/b-fb.h b/src/b-fb.h +index c9850e7..bf5eaf8 100644 +--- a/src/b-fb.h ++++ b/src/b-fb.h +@@ -21,9 +21,11 @@ + */ + + extern int change_mode (int fd, mode_t mode); +-extern void Ierror (void) exiting; ++exiting ++extern void Ierror (void); + extern void testIerror (FILE *f); +-extern void Oerror (void) exiting; ++exiting ++extern void Oerror (void); + extern void testOerror (FILE *o); + extern FILE *fopen_safer (char const *filename, char const *type); + extern void Ozclose (FILE **p); +diff --git a/src/base.h b/src/base.h +index 163ee09..5e7a9f8 100644 +--- a/src/base.h ++++ b/src/base.h +@@ -755,8 +755,8 @@ int dorewrite (bool lockflag, int changed); + int donerewrite (int changed, time_t newRCStime); + void ORCSclose (void); + void ORCSerror (void); +-void unexpected_EOF (void) +- exiting; ++exiting ++void unexpected_EOF (void); + void initdiffcmd (struct diffcmd *dc); + int getdiffcmd (struct fro *finfile, bool delimiter, + FILE *foutfile, struct diffcmd *dc); +@@ -831,8 +831,8 @@ char const *date2str (char const date[datesize], + char datebuf[datesize + zonelenmax]); + + /* rcsutil */ +-void thank_you_and_goodnight (int const how) +- exiting; ++exiting ++void thank_you_and_goodnight (int const how); + /* These are for ‘thank_you_and_goodnight’. */ + #define TYAG_ORCSERROR (1 << 3) + #define TYAG_DIRTMPUNLINK (1 << 2) +-- +cgit v0.9.0.2 -- 2.11.0