diff --git a/argp/ChangeLog b/argp/ChangeLog
index 27b9228928cd39135dde33e89ca601c5b0d12959..43cd4f90800b40960920e1ba583c2cefe5f7db2c 100644
--- a/argp/ChangeLog
+++ b/argp/ChangeLog
@@ -1,3 +1,9 @@
+2016-04-18  Niels Möller  <nisse@lysator.liu.se>
+
+	* argp-fmtstream.h (ARGP_FS_EI): Use __attribute__
+	((__gnu_inline__)) if available, for compatibility with gcc-5.
+	* argp.h (ARGP_EI): Likewise.
+
 2014-10-02  Niels Möller  <nisse@lysator.liu.se>
 
 	* strndup.c (strndup): Fixed off-by-one error, and failure check.
diff --git a/argp/argp-fmtstream.h b/argp/argp-fmtstream.h
index 9f713380515f275cf6d62d533c998b4e806c20c9..18f7f7e351a5abe1643a02ce9b04deed2e9b9121 100644
--- a/argp/argp-fmtstream.h
+++ b/argp/argp-fmtstream.h
@@ -216,7 +216,11 @@ extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);
 #endif
 
 #ifndef ARGP_FS_EI
-#define ARGP_FS_EI extern inline
+# ifdef __GNUC_STDC_INLINE__
+#  define ARGP_FS_EI extern inline __attribute__ ((__gnu_inline__))
+# else
+#  define ARGP_FS_EI extern inline
+# endif
 #endif
 
 ARGP_FS_EI size_t
diff --git a/argp/argp.h b/argp/argp.h
index bf8e4b7614f16ef0543874f7f99915f16f824892..a6c65b578f29df2c5846c596ea36906beaf1f29e 100644
--- a/argp/argp.h
+++ b/argp/argp.h
@@ -561,7 +561,11 @@ __argp_short_program_name(const struct argp_state *state) __THROW;
 # endif
 
 # ifndef ARGP_EI
-#  define ARGP_EI extern __inline__
+#  ifdef __GNUC_STDC_INLINE__
+#   define ARGP_EI extern __inline__ __attribute__ ((__gnu_inline__))
+#  else
+#   define ARGP_EI extern __inline__
+#  endif
 # endif
 
 ARGP_EI void