/* Core data structures for the 'tree' type.
- Copyright (C) 1989-2023 Free Software Foundation, Inc.
+ Copyright (C) 1989-2024 Free Software Foundation, Inc.
This file is part of GCC.
/* OpenMP clause: doacross ({source,sink}:vec). */
OMP_CLAUSE_DOACROSS,
+ /* OpenMP clause: indirect [(constant-integer-expression)]. */
+ OMP_CLAUSE_INDIRECT,
+
/* Internal structure to hold OpenACC cache directive's variable-list.
#pragma acc cache (variable-list). */
OMP_CLAUSE__CACHE_,
/* OpenACC/OpenMP clause: if (scalar-expression). */
OMP_CLAUSE_IF,
+ /* OpenACC clause: self. */
+ OMP_CLAUSE_SELF,
+
/* OpenMP clause: num_threads (integer-expression). */
OMP_CLAUSE_NUM_THREADS,
/* OpenACC clause: nohost. */
OMP_CLAUSE_NOHOST,
-
- /* OpenACC clause: self. */
- OMP_CLAUSE_SELF,
};
#undef DEFTREESTRUCT
annot_expr_kind_last
};
-/* The kind of a TREE_CLOBBER_P CONSTRUCTOR node. */
+/* The kind of a TREE_CLOBBER_P CONSTRUCTOR node. Other than _UNDEF, these are
+ in roughly sequential order. */
enum clobber_kind {
/* Unspecified, this clobber acts as a store of an undefined value. */
CLOBBER_UNDEF,
- /* This clobber ends the lifetime of the storage. */
- CLOBBER_EOL,
+ /* Beginning of storage duration, e.g. malloc. */
+ CLOBBER_STORAGE_BEGIN,
+ /* Beginning of object lifetime, e.g. C++ constructor. */
+ CLOBBER_OBJECT_BEGIN,
+ /* End of object lifetime, e.g. C++ destructor. */
+ CLOBBER_OBJECT_END,
+ /* End of storage duration, e.g. free. */
+ CLOBBER_STORAGE_END,
CLOBBER_LAST
};
unsigned spare1 : 8;
- /* This field is only used with TREE_TYPE nodes; the only reason it is
+ /* For _TYPE nodes, this is TYPE_ADDR_SPACE; the reason it is
present in tree_base instead of tree_type is to save space. The size
of the field must be large enough to hold addr_space_t values.
- For CONSTRUCTOR nodes this holds the clobber_kind enum. */
+ For CONSTRUCTOR nodes this holds the clobber_kind enum.
+ The C++ front-end uses this in IDENTIFIER_NODE and NAMESPACE_DECL. */
unsigned address_space : 8;
} bits;
DECL_NONALIASED in
VAR_DECL
+ CHREC_NOWRAP in
+ POLYNOMIAL_CHREC
+
deprecated_flag:
TREE_DEPRECATED in