shithub: trueawk

Download patch

ref: bb538fe67eb91f5aeeb99012304c91aeeb08ba97
parent: 2017c2e6eaa6a0d5a3e1ad2c9c891e82411dca83
author: awkfan77 <awkfan77@mailfence.com>
date: Sun Apr 5 15:10:52 EDT 2020

Replace __attribute__((__noreturn__)) with _Noreturn. (#77)

* Replace __attribute__((__noreturn__)) with _Noreturn.

* Change _Noreturn to noreturn and #include <stdnoreturn.h>

--- a/awk.h
+++ b/awk.h
@@ -25,6 +25,7 @@
 #include <assert.h>
 #include <stdint.h>
 #include <stdbool.h>
+#include <stdnoreturn.h>
 
 typedef double	Awkfloat;
 
--- a/main.c
+++ b/main.c
@@ -52,7 +52,7 @@
 
 bool	safe = false;	/* true => "safe" mode */
 
-static __attribute__((__noreturn__)) void fpecatch(int n
+static noreturn void fpecatch(int n
 #ifdef SA_SIGINFO
 	, siginfo_t *si, void *uc
 #endif
--- a/proto.h
+++ b/proto.h
@@ -46,7 +46,7 @@
 extern	int	hexstr(const uschar **);
 extern	int	quoted(const uschar **);
 extern	char	*cclenter(const char *);
-extern	void	overflo(const char *) __attribute__((__noreturn__));
+extern	noreturn void	overflo(const char *);
 extern	void	cfoll(fa *, Node *);
 extern	int	first(Node *);
 extern	void	follow(Node *);
@@ -137,8 +137,8 @@
 extern	void	bcheck2(int, int, int);
 extern	void	SYNTAX(const char *, ...)
     __attribute__((__format__(__printf__, 1, 2)));
-extern	void	FATAL(const char *, ...)
-    __attribute__((__format__(__printf__, 1, 2), __noreturn__));
+extern	noreturn void	FATAL(const char *, ...)
+    __attribute__((__format__(__printf__, 1, 2)));
 extern	void	WARNING(const char *, ...)
     __attribute__((__format__(__printf__, 1, 2)));
 extern	void	error(void);
--