From df1911fffa5b4eee3cabfc633b2809dd6179ec79 Mon Sep 17 00:00:00 2001 From: rms Date: Sun, 5 Jul 1992 21:12:43 +0000 Subject: [PATCH] (duplicate_decls): Don't warn about disagreement in `inline' except when non-inline fn is made inline after a call or definition. (finish_function): Set BLOCK_SUPERCONTEXT of outer block. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1449 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/c-decl.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 57b3c1a..f5a996a 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -1391,10 +1391,10 @@ duplicate_decls (newdecl, olddecl) warning_with_decl (newdecl, "`%s' declared inline after being called"); if (TREE_CODE (olddecl) == FUNCTION_DECL - && TREE_INLINE (olddecl) != TREE_INLINE (newdecl) - && ! (TREE_EXTERNAL (olddecl) && TREE_EXTERNAL (newdecl))) + && ! TREE_INLINE (olddecl) && TREE_INLINE (newdecl) + && DECL_INITIAL (olddecl) != 0) warning_with_decl (newdecl, - "`%s' declarations disagree about `inline'"); + "`%s' declared inline after its definition"); /* It is nice to warn when a function is declared global first and then static. */ if (TREE_CODE (olddecl) == FUNCTION_DECL @@ -5754,6 +5754,7 @@ finish_function (nested) which then got a warning when stored in a ptr-to-function variable. */ poplevel (1, 0, 1); + BLOCK_SUPERCONTEXT (DECL_INITIAL (fndecl)) = fndecl; /* Must mark the RESULT_DECL as being in this function. */ -- 2.7.4