aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/calls.c3
-rw-r--r--gcc/print-tree.c18
2 files changed, 12 insertions, 9 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index b6de19b..d46d103 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -114,7 +114,8 @@ calls_alloca (exp)
/* Only expressions and references can contain calls. */
- if (type != 'e' && type != '<' && type != '1' && type != '2' && type != 'r')
+ if (type != 'e' && type != '<' && type != '1' && type != '2' && type != 'r'
+ && type != 'b')
return 0;
switch (TREE_CODE (exp))
diff --git a/gcc/print-tree.c b/gcc/print-tree.c
index 89abe18..3c43d17 100644
--- a/gcc/print-tree.c
+++ b/gcc/print-tree.c
@@ -467,6 +467,16 @@ print_node (file, prefix, node, indent)
print_node_brief (file, "chain", TREE_CHAIN (node), indent + 4);
break;
+ case 'b':
+ print_node (file, "vars", BLOCK_VARS (node), indent + 4);
+ print_node (file, "tags", BLOCK_TYPE_TAGS (node), indent + 4);
+ print_node (file, "supercontext", BLOCK_SUPERCONTEXT (node), indent + 4);
+ print_node (file, "subblocks", BLOCK_SUBBLOCKS (node), indent + 4);
+ print_node (file, "chain", BLOCK_CHAIN (node), indent + 4);
+ print_node (file, "abstract_origin",
+ BLOCK_ABSTRACT_ORIGIN (node), indent + 4);
+ return;
+
case 'e':
case '<':
case '1':
@@ -475,14 +485,6 @@ print_node (file, prefix, node, indent)
case 's':
switch (TREE_CODE (node))
{
- case BLOCK:
- print_node (file, "vars", BLOCK_VARS (node), indent + 4);
- print_node (file, "tags", BLOCK_TYPE_TAGS (node), indent + 4);
- print_node (file, "supercontext", BLOCK_SUPERCONTEXT (node), indent + 4);
- print_node (file, "subblocks", BLOCK_SUBBLOCKS (node), indent + 4);
- print_node (file, "chain", BLOCK_CHAIN (node), indent + 4);
- return;
-
case BIND_EXPR:
print_node (file, "vars", TREE_OPERAND (node, 0), indent + 4);
print_node (file, "body", TREE_OPERAND (node, 1), indent + 4);