Index: runtime/stop.c
===================================================================
--- runtime/stop.c	(revision 212323)
+++ runtime/stop.c	(working copy)
@@ -83,8 +83,7 @@
 
 /* A numeric STOP statement.  */
 
-extern void stop_numeric (GFC_INTEGER_4)
-  __attribute__ ((noreturn));
+extern _Noreturn void stop_numeric (GFC_INTEGER_4);
 export_proto(stop_numeric);
 
 void
@@ -102,8 +101,7 @@
 
 /* A Fortran 2008 numeric STOP statement.  */
 
-extern void stop_numeric_f08 (GFC_INTEGER_4)
-  __attribute__ ((noreturn));
+extern _Noreturn void stop_numeric_f08 (GFC_INTEGER_4);
 export_proto(stop_numeric_f08);
 
 void
@@ -136,8 +134,7 @@
    initiates error termination of execution."  Thus, error_stop_string returns
    a nonzero exit status code.  */
 
-extern void error_stop_string (const char *, GFC_INTEGER_4)
-  __attribute__ ((noreturn));
+extern _Noreturn void error_stop_string (const char *, GFC_INTEGER_4);
 export_proto(error_stop_string);
 
 void
@@ -154,8 +151,7 @@
 
 /* A numeric ERROR STOP statement.  */
 
-extern void error_stop_numeric (GFC_INTEGER_4)
-  __attribute__ ((noreturn));
+extern _Noreturn void error_stop_numeric (GFC_INTEGER_4);
 export_proto(error_stop_numeric);
 
 void
Index: intrinsics/c99_functions.c
===================================================================
--- intrinsics/c99_functions.c	(revision 212323)
+++ intrinsics/c99_functions.c	(working copy)
@@ -39,6 +39,13 @@
 # endif
 #endif
 
+/* Macros to get real and imaginary parts of a complex, and set
+   a complex value.  */
+#define REALPART(z) (__real__(z))
+#define IMAGPART(z) (__imag__(z))
+#define COMPLEX_ASSIGN(z_, r_, i_) {__real__(z_) = (r_); __imag__(z_) = (i_);}
+
+
 /* Prototypes are included to silence -Wstrict-prototypes
    -Wmissing-prototypes.  */
 
Index: libgfortran.h
===================================================================
--- libgfortran.h	(revision 212323)
+++ libgfortran.h	(working copy)
@@ -235,11 +235,6 @@
 #undef signbit
 #define signbit(x) __builtin_signbit(x)
 
-/* TODO: find the C99 version of these an move into above ifdef.  */
-#define REALPART(z) (__real__(z))
-#define IMAGPART(z) (__imag__(z))
-#define COMPLEX_ASSIGN(z_, r_, i_) {__real__(z_) = (r_); __imag__(z_) = (i_);}
-
 #include "kinds.h"
 
 /* Define the type used for the current record number for large file I/O.
@@ -693,7 +688,7 @@
 #define GFC_OTOA_BUF_SIZE (GFC_LARGEST_BUF * 3 + 1)
 #define GFC_BTOA_BUF_SIZE (GFC_LARGEST_BUF * 8 + 1)
 
-extern void sys_abort (void) __attribute__ ((noreturn));
+extern _Noreturn void sys_abort (void);
 internal_proto(sys_abort);
 
 extern ssize_t estr_write (const char *);
@@ -709,26 +704,25 @@
 extern const char *gfc_xtoa (GFC_UINTEGER_LARGEST, char *, size_t);
 internal_proto(gfc_xtoa);
 
-extern void os_error (const char *) __attribute__ ((noreturn));
+extern _Noreturn void os_error (const char *);
 iexport_proto(os_error);
 
 extern void show_locus (st_parameter_common *);
 internal_proto(show_locus);
 
-extern void runtime_error (const char *, ...)
-     __attribute__ ((noreturn, format (gfc_printf, 1, 2)));
+extern _Noreturn void runtime_error (const char *, ...)
+     __attribute__ ((format (gfc_printf, 1, 2)));
 iexport_proto(runtime_error);
 
-extern void runtime_error_at (const char *, const char *, ...)
-     __attribute__ ((noreturn, format (gfc_printf, 2, 3)));
+extern _Noreturn void runtime_error_at (const char *, const char *, ...)
+     __attribute__ ((format (gfc_printf, 2, 3)));
 iexport_proto(runtime_error_at);
 
 extern void runtime_warning_at (const char *, const char *, ...)
      __attribute__ ((format (gfc_printf, 2, 3)));
 iexport_proto(runtime_warning_at);
 
-extern void internal_error (st_parameter_common *, const char *)
-  __attribute__ ((noreturn));
+extern _Noreturn void internal_error (st_parameter_common *, const char *);
 internal_proto(internal_error);
 
 extern const char *translate_error (int);
@@ -875,8 +869,7 @@
 
 /* stop.c */
 
-extern void stop_string (const char *, GFC_INTEGER_4)
-  __attribute__ ((noreturn));
+extern _Noreturn void stop_string (const char *, GFC_INTEGER_4);
 export_proto(stop_string);
 
 /* reshape_packed.c */
