2002-02-21 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/attr-alwaysinline.c: New.
* c-common.c (c_common_post_options): Set inline trees by
default.
* doc/extend.texi (Function Attributes): Document always_inline
attribute.
Update documentation about inlining when not optimizing.
* cp/decl.c (duplicate_decls): Merge always_inline attribute.
* cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
unless DECL_ALWAYS_INLINE.
* c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
unless DECL_ALWAYS_INLINE.
(c_disregard_inline_limits): Disregard if always_inline set.
* langhooks.c (lhd_tree_inlining_disregard_inline_limits):
Disregard if always_inline set.
(lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
unless DECL_ALWAYS_INLINE.
* attribs.c (handle_always_inline_attribute): New.
(c_common_attribute_table): Add always_inline.
* config/rs6000/altivec.h: Add prototypes for builtins
requiring the always_inline attribute.
From-SVN: r49947
* Makefile.in: Update dependencies.
* c-lang.c: Remove unnecessary includes.
(deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
c-objc-common.c.
(finish_file): Move body to c_common_finish_file.
* c-objc-common.c: Include varray.h and ggc.h.
(deferred_fns, start_cdtor, finish_cdtor, defer_fn,
expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
(c_objc_common_init): Initialize deferred function array.
* c-tree.h (c_objc_common_finish_file,
static_ctors, static_dtors): New.
objc:
* Make-lang.in: Update dependencies.
* objc/objc-act.c: Don't include varray.h.
(defer_fn, deferred_fns): Move to c-objc-common.c.
(objc_init): Similarly for initialization of it.
(finish_file): Move some to c-objc-common.c, use
c_objc_common_finish_file.
From-SVN: r48134