diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-inline.c | 5 |
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; } |