diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2011-05-26 17:38:51 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@gcc.gnu.org> | 2011-05-26 17:38:51 +0000 |
commit | 92e948a836d98e98a1721008795dfddbb47828a6 (patch) | |
tree | d221c28a4588d4ee669bca17061040874f839eab /gcc/java | |
parent | d74be3171290547f3311f959351e0c3afe7dcd21 (diff) | |
download | gcc-92e948a836d98e98a1721008795dfddbb47828a6.zip gcc-92e948a836d98e98a1721008795dfddbb47828a6.tar.gz gcc-92e948a836d98e98a1721008795dfddbb47828a6.tar.bz2 |
make TS_BLOCK a substructure of TS_BASE
make TS_BLOCK a substructure of TS_BASE
gcc/
* tree.c (initialize_tree_contains_struct): Mark TS_BLOCK as
TS_BASE instead of TS_COMMON.
(find_decls_types_r): Check for TS_TYPED structure before looking at
TREE_TYPE.
* tree.h (struct tree_block): Inherit from tree_base, not tree_common.
Add chain field.
(BLOCK_CHAIN): Use new chain field.
gcc/c-family/
* c-common.c (warning_candidate_p): Check for BLOCKs.
gcc/java/
* decl.c (poplevel): Don't access TREE_TYPE of BLOCKs.
* expr.c (build_jni_stub): Likewise.
From-SVN: r174300
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/decl.c | 7 | ||||
-rw-r--r-- | gcc/java/expr.c | 1 |
3 files changed, 7 insertions, 6 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 3bf7405..62add85 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2011-05-26 Nathan Froyd <froydnj@codesourcery.com> + + * decl.c (poplevel): Don't access TREE_TYPE of BLOCKs. + * expr.c (build_jni_stub): Likewise. + 2011-05-24 Joseph Myers <joseph@codesourcery.com> * Make-lang.in ($(XGCJ)$(exeext)): Use libcommon-target.a instead diff --git a/gcc/java/decl.c b/gcc/java/decl.c index 47b4ebe..e958136 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -1425,10 +1425,7 @@ poplevel (int keep, int reverse, int functionbody) block = 0; if (keep || functionbody) - { - block = make_node (BLOCK); - TREE_TYPE (block) = void_type_node; - } + block = make_node (BLOCK); if (current_binding_level->exception_range) expand_end_java_handler (current_binding_level->exception_range); @@ -1456,7 +1453,7 @@ poplevel (int keep, int reverse, int functionbody) } *var = NULL; - bind = build3 (BIND_EXPR, TREE_TYPE (block), BLOCK_VARS (block), + bind = build3 (BIND_EXPR, void_type_node, BLOCK_VARS (block), BLOCK_EXPR_BODY (block), block); BIND_EXPR_BODY (bind) = current_binding_level->stmts; diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 3be1cff..b9293e0 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -2649,7 +2649,6 @@ build_jni_stub (tree method) method_args = DECL_ARGUMENTS (method); block = build_block (env_var, NULL_TREE, method_args, NULL_TREE); TREE_SIDE_EFFECTS (block) = 1; - TREE_TYPE (block) = TREE_TYPE (TREE_TYPE (method)); /* Compute the local `env' by calling _Jv_GetJNIEnvNewFrame. */ body = build2 (MODIFY_EXPR, ptr_type_node, env_var, |