summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-28 18:51:49 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-28 18:51:49 +0000
commitb3f7c02fd975d38fe3a687cda9881c91f5fa95b0 (patch)
treec3f3d3f6bcb25054ebc7c74e7f3117eb734219a8 /gcc
parent099a9fb1cf8bfbb106f62d2bd514710b58f628c1 (diff)
downloadppe42-gcc-b3f7c02fd975d38fe3a687cda9881c91f5fa95b0.tar.gz
ppe42-gcc-b3f7c02fd975d38fe3a687cda9881c91f5fa95b0.zip
* c-decl.c (finish_function): New arg can_defer_p. Pass it
on to c_expand_body. * c-tree.h (finish_function): Update decl. * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51518 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/c-decl.c8
-rw-r--r--gcc/c-objc-common.c2
-rw-r--r--gcc/c-parse.in10
-rw-r--r--gcc/c-tree.h2
-rw-r--r--gcc/objc/objc-act.c4
6 files changed, 21 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b07a41b7ba0..288f5107940 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2002-03-28 Richard Henderson <rth@redhat.com>
+
+ * c-decl.c (finish_function): New arg can_defer_p. Pass it
+ on to c_expand_body.
+ * c-tree.h (finish_function): Update decl.
+ * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
+
Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
* ifcvt.c (if_convert): Clear aux_for_blocks early enought.
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 620a16f5d5d..931f17487ac 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -6687,11 +6687,13 @@ store_parm_decls ()
This is called after parsing the body of the function definition.
- NESTED is nonzero if the function being finished is nested in another. */
+ NESTED is nonzero if the function being finished is nested in another.
+ CAN_DEFER_P is nonzero if the function may be deferred. */
void
-finish_function (nested)
+finish_function (nested, can_defer_p)
int nested;
+ int can_defer_p;
{
tree fndecl = current_function_decl;
@@ -6760,7 +6762,7 @@ finish_function (nested)
if (! nested)
{
/* Generate RTL for the body of this function. */
- c_expand_body (fndecl, nested, 1);
+ c_expand_body (fndecl, nested, can_defer_p);
/* Let the error reporting routines know that we're outside a
function. For a nested function, this value is used in
diff --git a/gcc/c-objc-common.c b/gcc/c-objc-common.c
index 416a31042f3..595e6cec756 100644
--- a/gcc/c-objc-common.c
+++ b/gcc/c-objc-common.c
@@ -326,7 +326,7 @@ finish_cdtor (body)
RECHAIN_STMTS (body, COMPOUND_BODY (body));
- finish_function (0);
+ finish_function (0, 0);
}
/* Called at end of parsing, but before end-of-file processing. */
diff --git a/gcc/c-parse.in b/gcc/c-parse.in
index 1628057b784..fa56bfcfce7 100644
--- a/gcc/c-parse.in
+++ b/gcc/c-parse.in
@@ -394,7 +394,7 @@ fndef:
save_filename save_lineno compstmt_or_error
{ DECL_SOURCE_FILE (current_function_decl) = $7;
DECL_SOURCE_LINE (current_function_decl) = $8;
- finish_function (0);
+ finish_function (0, 1);
POP_DECLSPEC_STACK; }
| declspecs_ts setspecs declarator error
{ POP_DECLSPEC_STACK; }
@@ -408,7 +408,7 @@ fndef:
save_filename save_lineno compstmt_or_error
{ DECL_SOURCE_FILE (current_function_decl) = $7;
DECL_SOURCE_LINE (current_function_decl) = $8;
- finish_function (0);
+ finish_function (0, 1);
POP_DECLSPEC_STACK; }
| declspecs_nots setspecs notype_declarator error
{ POP_DECLSPEC_STACK; }
@@ -422,7 +422,7 @@ fndef:
save_filename save_lineno compstmt_or_error
{ DECL_SOURCE_FILE (current_function_decl) = $6;
DECL_SOURCE_LINE (current_function_decl) = $7;
- finish_function (0);
+ finish_function (0, 1);
POP_DECLSPEC_STACK; }
| setspecs notype_declarator error
{ POP_DECLSPEC_STACK; }
@@ -1586,7 +1586,7 @@ nested_function:
{ tree decl = current_function_decl;
DECL_SOURCE_FILE (decl) = $5;
DECL_SOURCE_LINE (decl) = $6;
- finish_function (1);
+ finish_function (1, 1);
pop_function_context ();
add_decl_stmt (decl); }
;
@@ -1616,7 +1616,7 @@ notype_nested_function:
{ tree decl = current_function_decl;
DECL_SOURCE_FILE (decl) = $5;
DECL_SOURCE_LINE (decl) = $6;
- finish_function (1);
+ finish_function (1, 1);
pop_function_context ();
add_decl_stmt (decl); }
;
diff --git a/gcc/c-tree.h b/gcc/c-tree.h
index 53d55d4309b..57c335d0d64 100644
--- a/gcc/c-tree.h
+++ b/gcc/c-tree.h
@@ -192,7 +192,7 @@ extern tree define_label PARAMS ((const char *, int,
tree));
extern void finish_decl PARAMS ((tree, tree, tree));
extern tree finish_enum PARAMS ((tree, tree, tree));
-extern void finish_function PARAMS ((int));
+extern void finish_function PARAMS ((int, int));
extern tree finish_struct PARAMS ((tree, tree, tree));
extern tree get_parm_info PARAMS ((int));
extern tree grokfield PARAMS ((const char *, int, tree, tree, tree));
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 2d689a25eb8..cfc47024bf5 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -1731,7 +1731,7 @@ build_module_descriptor ()
c_expand_expr_stmt (decelerator);
- finish_function (0);
+ finish_function (0, 0);
return XEXP (DECL_RTL (init_function_decl), 0);
}
@@ -7265,7 +7265,7 @@ void
finish_method_def ()
{
lang_expand_function_end = objc_expand_function_end;
- finish_function (0);
+ finish_function (0, 1);
lang_expand_function_end = NULL;
/* Required to implement _msgSuper. This must be done AFTER finish_function,
OpenPOWER on IntegriCloud