aboutsummaryrefslogtreecommitdiff
path: root/gcc/print-tree.c
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@redhat.com>2006-01-26 02:53:01 +0000
committerDiego Novillo <dnovillo@gcc.gnu.org>2006-01-25 21:53:01 -0500
commitaaf46ef9792bbc562175b606bd1c3f225ea56924 (patch)
tree6b35ae8b0d86fdf04a2e7d85a967d4e8e0d276fd /gcc/print-tree.c
parentd89b36e1a2179df76edf089cc2a11f5f3409cb72 (diff)
downloadgcc-aaf46ef9792bbc562175b606bd1c3f225ea56924.zip
gcc-aaf46ef9792bbc562175b606bd1c3f225ea56924.tar.gz
gcc-aaf46ef9792bbc562175b606bd1c3f225ea56924.tar.bz2
re PR middle-end/25886 (up to 256 tree codes for Objective-C++)
* tree.h (TREE_RANGE_CHECK): Fix range predicate. (TREE_BLOCK): Add call to EXPR_CHECK. PR 25886 * tree-dump.c (dequeue_and_dump): Handle OMP_CLAUSE. * tree-pretty-print.c (dump_omp_clause): Extract from ... (dump_omp_clauses): ... here. (dump_generic_node): Handle OMP_CLAUSE. * tree.c (omp_clause_num_ops): New. (omp_clause_code_name): New. (tree_code_size): Handle OMP_CLAUSE. (tree_size): Likewise. (make_node): Document handling of OMP_CLAUSE. (tree_node_structure): Handle OMP_CLAUSE. (omp_clause_check_failed): New. (omp_clause_range_check_failed): New. (omp_clause_operand_check_failed): New. (build_omp_clause): New. (walk_tree): Adjust handling of OMP_CLAUSE_* nodes. * tree.h (enum omp_clause_code): Declare. (OMP_CLAUSE_SUBCODE): Define. (OMP_CLAUSE_RANGE_CHECK): Define. (OMP_CLAUSE_ELT_CHECK): Define. (omp_clause_check_failed): Declare. (omp_clause_operand_check_failed): Declare. (omp_clause_range_check_failed): Declare. (OMP_CLAUSE_CHAIN): Do not use TREE_RANGE_CHECK. (OMP_CLAUSE_OPERAND): Use OMP_CLAUSE_RANGE_CHECK. (OMP_CLAUSE_PRIVATE_DEBUG): Use OMP_CLAUSE_SUBCODE_CHECK. (OMP_CLAUSE_LASTPRIVATE): Likewise. (OMP_CLAUSE_IF_EXPR): Likewise. (OMP_CLAUSE_NUM_THREADS_EXPR): Likewise. (OMP_CLAUSE_SCHEDULE_CHUNK_EXPR): Likewise. (OMP_CLAUSE_REDUCTION_CODE): Likewise. (OMP_CLAUSE_REDUCTION_INIT): Likewise. (OMP_CLAUSE_REDUCTION_MERGE): Likewise. (OMP_CLAUSE_REDUCTION_PLACEHOLDER): Likewise. Use tree_node.omp_clause.subcode instead of TREE_COMPLEXITY. (OMP_CLAUSE_SCHEDULE_KIND): Likewise. (OMP_CLAUSE_DEFAULT_KIND): Likewise. (OMP_CLAUSE_CODE): Define. (OMP_CLAUSE_SET_CODE): Define. (OMP_CLAUSE_CODE): Define. (OMP_CLAUSE_OPERAND): Define. (struct tree_omp_clause): Declare. (union tree_node): Add field 'omp_clause'. * treestruct.def (TS_OMP_CLAUSE): Define. * tree.def (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_SHARED OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_REDUCTION, OMP_CLAUSE_COPYIN, OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_NOWAIT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_DEFAULT): Remove. (OMP_CLAUSE): Define. * print-tree.c (print_node): Handle OMP_CLAUSE. * omp-low.c: Adapt all uses of OMP_CLAUSE_* nodes. * c-typeck.c: Likewise. * gimplify.c: Likewise. * c-omp.c: Likewise. * tree-nested.c: Likewise. * tree-inline.c: Likewise. * c-parser.c: Likewise. * gimple-low.c (lower_omp_directive): Do not set TREE_BLOCK on clauses. From-SVN: r110243
Diffstat (limited to 'gcc/print-tree.c')
-rw-r--r--gcc/print-tree.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/print-tree.c b/gcc/print-tree.c
index a371f09..65587ae 100644
--- a/gcc/print-tree.c
+++ b/gcc/print-tree.c
@@ -825,6 +825,20 @@ print_node (FILE *file, const char *prefix, tree node, int indent)
}
break;
+ case OMP_CLAUSE:
+ {
+ int i;
+ fprintf (file, " %s",
+ omp_clause_code_name[OMP_CLAUSE_CODE (node)]);
+ for (i = 0; i < omp_clause_num_ops[OMP_CLAUSE_CODE (node)]; i++)
+ {
+ indent_to (file, indent + 4);
+ fprintf (file, "op %d:", i);
+ print_node_brief (file, "", OMP_CLAUSE_OPERAND (node, i), 0);
+ }
+ }
+ break;
+
default:
if (EXCEPTIONAL_CLASS_P (node))
lang_hooks.print_xnode (file, node, indent);