cp-tree.h (flag_inline_trees): Update documentation.
* cp-tree.h (flag_inline_trees): Update documentation. * decl.c (init_decl_processing): Adjust handling of flag_inline_functions and flag_inline_trees to support -O3. (grokfndecl): Set DECL_INLINE on all functions if that's what the user requested. (save_function_data): Clear DECL_INLINE in current_function_cannot_inline is non-NULL. * decl2.c (flag_inline_trees): Update documentation. From-SVN: r41822
This commit is contained in:
parent
4091fa5f1b
commit
acc72c3774
|
@ -1,3 +1,14 @@
|
||||||
|
2001-05-03 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
|
* cp-tree.h (flag_inline_trees): Update documentation.
|
||||||
|
* decl.c (init_decl_processing): Adjust handling of
|
||||||
|
flag_inline_functions and flag_inline_trees to support -O3.
|
||||||
|
(grokfndecl): Set DECL_INLINE on all functions if that's what
|
||||||
|
the user requested.
|
||||||
|
(save_function_data): Clear DECL_INLINE in
|
||||||
|
current_function_cannot_inline is non-NULL.
|
||||||
|
* decl2.c (flag_inline_trees): Update documentation.
|
||||||
|
|
||||||
2001-05-03 Nathan Sidwell <nathan@codesourcery.com>
|
2001-05-03 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
* dump.c (cp_dump_tree, USING_STMT case): New case.
|
* dump.c (cp_dump_tree, USING_STMT case): New case.
|
||||||
|
|
|
@ -3445,8 +3445,10 @@ extern int flag_implicit_templates;
|
||||||
|
|
||||||
extern int flag_weak;
|
extern int flag_weak;
|
||||||
|
|
||||||
/* Nonzero if we should expand functions calls inline at the tree
|
/* 0 if we should not perform inlining.
|
||||||
level, rather than at the RTL level. */
|
1 if we should expand functions calls inline at the tree level.
|
||||||
|
2 if we should consider *all* functions to be inline
|
||||||
|
candidates. */
|
||||||
|
|
||||||
extern int flag_inline_trees;
|
extern int flag_inline_trees;
|
||||||
|
|
||||||
|
|
|
@ -6365,6 +6365,11 @@ init_decl_processing ()
|
||||||
flag_inline_trees = 1;
|
flag_inline_trees = 1;
|
||||||
flag_no_inline = 1;
|
flag_no_inline = 1;
|
||||||
}
|
}
|
||||||
|
if (flag_inline_functions)
|
||||||
|
{
|
||||||
|
flag_inline_trees = 2;
|
||||||
|
flag_inline_functions = 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Initially, C. */
|
/* Initially, C. */
|
||||||
current_lang_name = lang_name_c;
|
current_lang_name = lang_name_c;
|
||||||
|
@ -6547,10 +6552,6 @@ init_decl_processing ()
|
||||||
|
|
||||||
if (flag_exceptions)
|
if (flag_exceptions)
|
||||||
init_exception_processing ();
|
init_exception_processing ();
|
||||||
if (flag_no_inline)
|
|
||||||
{
|
|
||||||
flag_inline_functions = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! supports_one_only ())
|
if (! supports_one_only ())
|
||||||
flag_weak = 0;
|
flag_weak = 0;
|
||||||
|
@ -8838,8 +8839,13 @@ grokfndecl (ctype, type, declarator, orig_declarator, virtualp, flags, quals,
|
||||||
DECL_NOT_REALLY_EXTERN (decl) = 1;
|
DECL_NOT_REALLY_EXTERN (decl) = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If the declaration was declared inline, mark it as such. */
|
||||||
if (inlinep)
|
if (inlinep)
|
||||||
DECL_DECLARED_INLINE_P (decl) = DECL_INLINE (decl) = 1;
|
DECL_DECLARED_INLINE_P (decl) = 1;
|
||||||
|
/* We inline functions that are explicitly declared inline, or, when
|
||||||
|
the user explicitly asks us to, all functions. */
|
||||||
|
if (DECL_DECLARED_INLINE_P (decl) || flag_inline_trees == 2)
|
||||||
|
DECL_INLINE (decl) = 1;
|
||||||
|
|
||||||
DECL_EXTERNAL (decl) = 1;
|
DECL_EXTERNAL (decl) = 1;
|
||||||
if (quals != NULL_TREE && TREE_CODE (type) == FUNCTION_TYPE)
|
if (quals != NULL_TREE && TREE_CODE (type) == FUNCTION_TYPE)
|
||||||
|
@ -13771,7 +13777,11 @@ save_function_data (decl)
|
||||||
/* If we've already decided that we cannot inline this function, we
|
/* If we've already decided that we cannot inline this function, we
|
||||||
must remember that fact when we actually go to expand the
|
must remember that fact when we actually go to expand the
|
||||||
function. */
|
function. */
|
||||||
f->cannot_inline = current_function_cannot_inline;
|
if (current_function_cannot_inline)
|
||||||
|
{
|
||||||
|
f->cannot_inline = current_function_cannot_inline;
|
||||||
|
DECL_INLINE (decl) = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* At the end of every constructor we generate to code to return
|
/* At the end of every constructor we generate to code to return
|
||||||
|
|
|
@ -396,8 +396,10 @@ int flag_use_cxa_atexit;
|
||||||
|
|
||||||
int flag_honor_std = 1;
|
int flag_honor_std = 1;
|
||||||
|
|
||||||
/* Nonzero if we should expand functions calls inline at the tree
|
/* 0 if we should not perform inlining.
|
||||||
level, rather than at the RTL level. */
|
1 if we should expand functions calls inline at the tree level.
|
||||||
|
2 if we should consider *all* functions to be inline
|
||||||
|
candidates. */
|
||||||
|
|
||||||
int flag_inline_trees = 0;
|
int flag_inline_trees = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue