summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--newlib/ChangeLog5
-rw-r--r--newlib/libc/include/stdio.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 0b3724b2d..414d8a9d6 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,8 @@
+2007-04-10 Eric Blake <ebb9@byu.net>
+
+ * libc/include/stdio.h (_ELIDABLE_INLINE): Work even when using
+ CFLAGS=-O0.
+
2007-04-09 Eric Blake <ebb9@byu.net>
* libc/include/stdio.h: Add gcc format attributes to printf and
diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h
index 1b50b34df..03334fe12 100644
--- a/newlib/libc/include/stdio.h
+++ b/newlib/libc/include/stdio.h
@@ -506,7 +506,7 @@ FILE *_EXFUN(funopen,(const _PTR _cookie,
'extern inline'. */
#if defined(__GNUC__) && !defined(__GNUC_STDC_INLINE__)
/* We're using GCC, but without the new C99-compatible behaviour. */
-#define _ELIDABLE_INLINE extern __inline__
+#define _ELIDABLE_INLINE extern __inline__ _ATTRIBUTE ((__always_inline__))
#else
/* We're using GCC in C99 mode, or an unknown compiler which
we just have to hope obeys the C99 semantics of inline. */