PR middle-end/29241
* cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
declared always_inline even when not inlining.
* gcc.c-torture/compile/pr29241.c: New testcase.
From-SVN: r117753
+2006-10-15 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/29241
+ * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
+ declared always_inline even when not inlining.
+
2006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr>
John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Andrew Pinski <pinskia@gmail.com>
{
struct cgraph_node *node;
if (!cgraph_global_info_ready)
- return (DECL_INLINE (decl) && !flag_really_no_inline);
+ return (flag_really_no_inline
+ ? lang_hooks.tree_inlining.disregard_inline_limits (decl)
+ : DECL_INLINE (decl));
/* Look if there is any clone around. */
for (node = cgraph_node (decl); node; node = node->next_clone)
if (node->global.inlined_to)
+2006-10-15 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/29241
+ * gcc.c-torture/compile/pr29241.c: New testcase.
+
2006-10-15 David Edelsohn <edelsohn@gnu.org>
PR middle-end/29250
--- /dev/null
+static inline __attribute__((always_inline)) void ip_finish_output2(){}
+void ip_fragment(void (*)(void));
+static inline __attribute__((always_inline)) void ip_finish_output()
+{
+ ip_fragment(ip_finish_output2);
+ ip_finish_output2();
+}
+void ip_mc_output()
+{
+ ip_finish_output();
+}
+void ip_output()
+{
+ ip_finish_output();
+}