aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2011-05-26 17:38:51 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2011-05-26 17:38:51 +0000
commit92e948a836d98e98a1721008795dfddbb47828a6 (patch)
treed221c28a4588d4ee669bca17061040874f839eab /gcc/java
parentd74be3171290547f3311f959351e0c3afe7dcd21 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/java/decl.c7
-rw-r--r--gcc/java/expr.c1
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,