Snap for 6405781 from 8cc21e2906ed803de4c90eb58e52a150d4f15404 to sdk-release

Change-Id: If904c3ecb2c3dcbb05d9fb693b1fd84ca8931163
diff --git a/FIXES b/FIXES
index 4342917..e96cf33 100644
--- a/FIXES
+++ b/FIXES
@@ -25,6 +25,10 @@
 This file lists all bug fixes, changes, etc., made since the AWK book
 was sent to the printers in August, 1987.
 
+April 5, 2020:
+	Use <stdnoreturn.h> and noreturn instead of GCC attributes.
+	Thanks to GitHub user awkfan77. Closes PR #77.
+
 February 28, 2020:
 	More cleanups from Christos Zoulas: notably backslash continuation
 	inside strings removes the newline and a fix for RS = "^a".
diff --git a/METADATA b/METADATA
index 9b0d5db..8e26074 100644
--- a/METADATA
+++ b/METADATA
@@ -5,11 +5,11 @@
     type: GIT
     value: "https://github.com/onetrueawk/awk.git"
   }
-  version: "2017c2e6eaa6a0d5a3e1ad2c9c891e82411dca83"
+  version: "c3d8f9c50011b7e8e19449b0712e700c0aeb8543"
   license_type: NOTICE
   last_upgrade_date {
     year: 2020
-    month: 2
-    day: 28
+    month: 4
+    day: 6
   }
 }
diff --git a/awk.h b/awk.h
index 6865438..4e01325 100644
--- 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;
 
diff --git a/main.c b/main.c
index 643ff7a..ce0a412 100644
--- a/main.c
+++ b/main.c
@@ -22,7 +22,7 @@
 THIS SOFTWARE.
 ****************************************************************/
 
-const char	*version = "version 20200228";
+const char	*version = "version 20200405";
 
 #define DEBUG
 #include <stdio.h>
@@ -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
diff --git a/proto.h b/proto.h
index 5426ba3..71e3cd9 100644
--- 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);