aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/ChangeLog')
-rw-r--r--gcc/cp/ChangeLog56
1 files changed, 56 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 148276b..33fc32f 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,59 @@
+2023-02-17 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/108243
+ PR c++/97553
+ * cp-gimplify.cc (enum fold_flags): Define.
+ (fold_flags_t): Declare.
+ (cp_fold_data::genericize): Replace this data member with ...
+ (cp_fold_data::fold_flags): ... this.
+ (cp_fold_r): Adjust use of cp_fold_data and calls to cp_fold.
+ (cp_fold_function): Likewise.
+ (cp_fold_maybe_rvalue): Add an internal overload that
+ additionally takes and propagates a fold_flags_t parameter, and
+ define the existing public overload in terms of it.
+ (cp_fold_rvalue): Likewise.
+ (cp_fully_fold_init): Adjust use of cp_fold_data.
+ (fold_cache): Replace with ...
+ (fold_caches): ... this 2-element array of caches.
+ (get_fold_cache): Define.
+ (clear_fold_cache): Adjust.
+ (cp_fold): Add fold_flags_t parameter. Use get_fold_cache.
+ Pass flags to calls to cp_fold, cp_fold_rvalue and
+ cp_fold_maybe_rvalue.
+ <case CALL_EXPR>: If ff_mce_false is set, fold
+ __builtin_is_constant_evaluated to false and pass mce_false to
+ maybe_constant_value.
+
+2023-02-17 Patrick Palka <ppalka@redhat.com>
+
+ * constexpr.cc (constexpr_call::manifestly_const_eval): Give
+ it type int instead of bool.
+ (constexpr_ctx::manifestly_const_eval): Give it type mce_value
+ instead of bool.
+ (cxx_eval_builtin_function_call): Adjust after making
+ manifestly_const_eval tri-state.
+ (cxx_eval_call_expression): Likewise.
+ (cxx_eval_binary_expression): Likewise.
+ (cxx_eval_conditional_expression): Likewise.
+ (cxx_eval_constant_expression): Likewise.
+ (cxx_eval_outermost_constant_expr): Likewise.
+ (cxx_constant_value): Likewise.
+ (cxx_constant_dtor): Likewise.
+ (maybe_constant_value): Give manifestly_const_eval parameter
+ type mce_value instead of bool and adjust accordingly.
+ (fold_non_dependent_expr_template): Adjust call
+ to cxx_eval_outermost_constant_expr.
+ (fold_non_dependent_expr): Likewise.
+ (maybe_constant_init_1): Likewise.
+ * constraint.cc (satisfy_atom): Adjust call to
+ maybe_constant_value.
+ * cp-tree.h (enum class mce_value): Define.
+ (maybe_constant_value): Adjust manifestly_const_eval parameter
+ type and default argument.
+ * decl.cc (compute_array_index_type_loc): Adjust call to
+ maybe_constant_value.
+ * pt.cc (convert_nontype_argument): Likewise.
+
2023-02-16 Patrick Palka <ppalka@redhat.com>
PR c++/107773