aaf46ef979
* 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
64 lines
2.5 KiB
Modula-2
64 lines
2.5 KiB
Modula-2
/* This file contains the definitions for the tree structure
|
|
enumeration used in GCC.
|
|
|
|
Copyright (C) 2005 Free Software Foundation, Inc.
|
|
|
|
This file is part of GCC.
|
|
|
|
GCC is free software; you can redistribute it and/or modify it under
|
|
the terms of the GNU General Public License as published by the Free
|
|
Software Foundation; either version 2, or (at your option) any later
|
|
version.
|
|
|
|
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with GCC; see the file COPYING. If not, write to the Free
|
|
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
|
|
02110-1301, USA. */
|
|
|
|
/* The format of this file is
|
|
DEFTREESTRUCT(enumeration value, printable name).
|
|
Each enumeration value should correspond with a single member of union
|
|
tree_node.
|
|
These enumerator values are used in order to distinguish members of union
|
|
tree_node for garbage collection purposes, as well as specifying what structures
|
|
contain what other structures in the tree_contains_struct array. */
|
|
|
|
DEFTREESTRUCT(TS_COMMON, "common")
|
|
DEFTREESTRUCT(TS_INT_CST, "integer cst")
|
|
DEFTREESTRUCT(TS_REAL_CST, "real cst")
|
|
DEFTREESTRUCT(TS_VECTOR, "vector")
|
|
DEFTREESTRUCT(TS_STRING, "string")
|
|
DEFTREESTRUCT(TS_COMPLEX, "complex")
|
|
DEFTREESTRUCT(TS_IDENTIFIER, "indentifier")
|
|
DEFTREESTRUCT(TS_DECL_MINIMAL, "decl minimal")
|
|
DEFTREESTRUCT(TS_DECL_COMMON, "decl common")
|
|
DEFTREESTRUCT(TS_DECL_WRTL, "decl with RTL")
|
|
DEFTREESTRUCT(TS_DECL_NON_COMMON, "decl non-common")
|
|
DEFTREESTRUCT(TS_DECL_WITH_VIS, "decl with visibility")
|
|
DEFTREESTRUCT(TS_FIELD_DECL, "field decl")
|
|
DEFTREESTRUCT(TS_VAR_DECL, "var decl")
|
|
DEFTREESTRUCT(TS_PARM_DECL, "parm decl")
|
|
DEFTREESTRUCT(TS_LABEL_DECL, "label decl")
|
|
DEFTREESTRUCT(TS_RESULT_DECL, "result decl")
|
|
DEFTREESTRUCT(TS_CONST_DECL, "const decl")
|
|
DEFTREESTRUCT(TS_TYPE_DECL, "label decl")
|
|
DEFTREESTRUCT(TS_FUNCTION_DECL, "function decl")
|
|
DEFTREESTRUCT(TS_TYPE, "type")
|
|
DEFTREESTRUCT(TS_LIST, "list")
|
|
DEFTREESTRUCT(TS_VEC, "vec")
|
|
DEFTREESTRUCT(TS_EXP, "exp")
|
|
DEFTREESTRUCT(TS_SSA_NAME, "ssa name")
|
|
DEFTREESTRUCT(TS_PHI_NODE, "phi node")
|
|
DEFTREESTRUCT(TS_BLOCK, "block")
|
|
DEFTREESTRUCT(TS_BINFO, "binfo")
|
|
DEFTREESTRUCT(TS_STATEMENT_LIST, "statement list")
|
|
DEFTREESTRUCT(TS_VALUE_HANDLE, "value handle")
|
|
DEFTREESTRUCT(TS_CONSTRUCTOR, "constructor")
|
|
DEFTREESTRUCT(TS_MEMORY_TAG, "memory tag")
|
|
DEFTREESTRUCT(TS_OMP_CLAUSE, "omp clause")
|