aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-inline.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 234bc45..fd50152 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2007-08-22 Richard Guenther <rguenther@suse.de>
+ * tree-inline.c (inlinable_function_p): Restore disregarding
+ inline limits for GNU extern inline functions.
+
+2007-08-22 Richard Guenther <rguenther@suse.de>
+
PR middle-end/32563
* tree.c (host_integerp): Treat sizetype as signed as it is
sign-extended.
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 1619838..a24f70d 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -1920,6 +1920,11 @@ inlinable_function_p (tree fn)
bool
disregard_inline_limits_p (tree fn)
{
+ /* GNU extern inline functions are supposed to be cheap. */
+ if (DECL_DECLARED_INLINE_P (fn)
+ && DECL_EXTERNAL (fn))
+ return true;
+
return lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn)) != NULL_TREE;
}