aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2024-06-06 00:16:43 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2024-06-06 00:16:43 +0000
commit10cb3336ba1ac89b258f627222e668b023a6d3d4 (patch)
treee5bd669e2ce60ad981fff775e7a46ad46a8320b9 /gcc/cp
parent66fa2f1037207f7565cfa824a2894cd702067d8c (diff)
downloadgcc-10cb3336ba1ac89b258f627222e668b023a6d3d4.zip
gcc-10cb3336ba1ac89b258f627222e668b023a6d3d4.tar.gz
gcc-10cb3336ba1ac89b258f627222e668b023a6d3d4.tar.bz2
Daily bump.
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog50
1 files changed, 50 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 1400b44..4a389e2 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,53 @@
+2024-06-05 Jakub Jelinek <jakub@redhat.com>
+ Frederik Harwath <frederik@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * cp-tree.h (dependent_omp_for_p): Add another tree argument.
+ * parser.cc (check_omp_intervening_code): Reject imperfectly nested
+ tile.
+ (cp_parser_statement_seq_opt): If want_nested_loop, use
+ cp_parser_next_tokens_can_be_canon_loop instead of just checking
+ for RID_FOR keyword.
+ (cp_parser_omp_clause_name): Handle full and partial clause names.
+ (cp_parser_omp_clause_full, cp_parser_omp_clause_partial): New
+ functions.
+ (cp_parser_omp_all_clauses): Formatting fix. Handle
+ PRAGMA_OMP_CLAUSE_PARTIAL and PRAGMA_OMP_CLAUSE_FULL.
+ (cp_parser_next_tokens_can_be_canon_loop): New function.
+ (cp_parser_omp_loop_nest): Parse C++11 attributes. Handle tile/unroll
+ constructs. Use cp_parser_next_tokens_can_be_canon_loop instead
+ of just checking for RID_FOR keyword. Only add_stmt
+ cp_parser_omp_loop_nest result if it is non-NULL.
+ (cp_parser_omp_for_loop): Rename tiling variable to oacc_tiling. For
+ OMP_CLAUSE_SIZES set collapse to list length of OMP_CLAUSE_SIZES_LIST.
+ Use cp_parser_next_tokens_can_be_canon_loop instead of just
+ checking for RID_FOR keyword. Remove spurious semicolon. Don't call
+ c_omp_check_loop_binding_exprs if stmt is NULL. Skip and/or handle
+ generated loops. Remove spurious ()s around & operands.
+ (cp_parser_omp_tile_sizes, cp_parser_omp_tile): New functions.
+ (OMP_UNROLL_CLAUSE_MASK): Define.
+ (cp_parser_omp_unroll): New function.
+ (cp_parser_omp_construct): Handle PRAGMA_OMP_TILE and
+ PRAGMA_OMP_UNROLL.
+ (cp_parser_pragma): Likewise.
+ * semantics.cc (finish_omp_clauses): Don't call
+ fold_build_cleanup_point_expr for cases which obviously won't need it,
+ like checked INTEGER_CSTs. Handle OMP_CLAUSE_{FULL,PARTIAL,SIZES}
+ and diagnose full vs. partial conflict. Adjust wording of some of the
+ conflicting clause diagnostic messages to include word clause.
+ (finish_omp_for): Use decl equal to global_namespace as a marker for
+ generated loop. Pass also body to dependent_omp_for_p. Skip
+ generated loops.
+ (finish_omp_for_block): Skip generated loops.
+ * pt.cc (tsubst_omp_clauses): Handle OMP_CLAUSE_{FULL,PARTIAL,SIZES}.
+ (tsubst_stmt): Handle OMP_TILE and OMP_UNROLL. Handle or skip
+ generated loops.
+ (dependent_omp_for_p): Add body argument. If declv vector element
+ is NULL, find generated loop.
+ * cp-gimplify.cc (cp_gimplify_expr): Handle OMP_TILE and OMP_UNROLL.
+ (cp_fold_r): Likewise.
+ (cp_genericize_r): Likewise. Skip generated loops.
+
2024-06-04 Simon Martin <simon@nasilyan.com>
* pt.cc (tsubst_expr): Add missing space after seen_error.