summaryrefslogtreecommitdiff
path: root/gcc/java/decl.c
diff options
context:
space:
mode:
authorfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-26 17:38:51 +0000
committerfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-26 17:38:51 +0000
commit027fc6effed44ed55e1c2214a28b5b664dc00178 (patch)
treed221c28a4588d4ee669bca17061040874f839eab /gcc/java/decl.c
parent8f2b914f9827988da22710ae55eecfeb7c12aee0 (diff)
downloadgcc-027fc6effed44ed55e1c2214a28b5b664dc00178.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174300 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/decl.c')
-rw-r--r--gcc/java/decl.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 47b4ebe8de9..e9581368088 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;