aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathaniel Shead <nathanieloshead@gmail.com>2023-10-17 21:35:21 +1100
committerJason Merrill <jason@redhat.com>2023-10-17 16:19:02 -0400
commit4f8700078c8e7d8b9c2022c77b0da007810deb0f (patch)
tree135f96193279497967ae26827c280db30739cb8a
parent9cad42786ca28461633d524bbb6480f388bfdc55 (diff)
downloadgcc-4f8700078c8e7d8b9c2022c77b0da007810deb0f.zip
gcc-4f8700078c8e7d8b9c2022c77b0da007810deb0f.tar.gz
gcc-4f8700078c8e7d8b9c2022c77b0da007810deb0f.tar.bz2
c++: Add missing auto_diagnostic_groups to constexpr.cc
gcc/cp/ChangeLog: * constexpr.cc (cxx_eval_dynamic_cast_fn): Add missing auto_diagnostic_group. (cxx_eval_call_expression): Likewise. (diag_array_subscript): Likewise. (outside_lifetime_error): Likewise. (potential_constant_expression_1): Likewise. Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com> Reviewed-by: Marek Polacek <polacek@redhat.com>
-rw-r--r--gcc/cp/constexpr.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/cp/constexpr.cc b/gcc/cp/constexpr.cc
index dde4fec..7c8f2cc 100644
--- a/gcc/cp/constexpr.cc
+++ b/gcc/cp/constexpr.cc
@@ -2437,6 +2437,7 @@ cxx_eval_dynamic_cast_fn (const constexpr_ctx *ctx, tree call,
{
if (!ctx->quiet)
{
+ auto_diagnostic_group d;
error_at (loc, "reference %<dynamic_cast%> failed");
inform (loc, "dynamic type %qT of its operand does "
"not have a base class of type %qT",
@@ -2492,6 +2493,7 @@ cxx_eval_dynamic_cast_fn (const constexpr_ctx *ctx, tree call,
{
if (!ctx->quiet)
{
+ auto_diagnostic_group d;
error_at (loc, "reference %<dynamic_cast%> failed");
inform (loc, "static type %qT of its operand is a "
"non-public base class of dynamic type %qT",
@@ -2524,6 +2526,7 @@ cxx_eval_dynamic_cast_fn (const constexpr_ctx *ctx, tree call,
{
if (!ctx->quiet)
{
+ auto_diagnostic_group d;
error_at (loc, "reference %<dynamic_cast%> failed");
inform (loc, "static type %qT of its operand is a non-public"
" base class of dynamic type %qT", objtype, mdtype);
@@ -2545,6 +2548,7 @@ cxx_eval_dynamic_cast_fn (const constexpr_ctx *ctx, tree call,
{
if (!ctx->quiet)
{
+ auto_diagnostic_group d;
error_at (loc, "reference %<dynamic_cast%> failed");
if (b_kind == bk_ambig)
inform (loc, "%qT is an ambiguous base class of dynamic "
@@ -2822,6 +2826,7 @@ cxx_eval_call_expression (const constexpr_ctx *ctx, tree t,
{
if (!ctx->quiet)
{
+ auto_diagnostic_group d;
error_at (loc, "array deallocation of object "
"allocated with non-array "
"allocation");
@@ -2844,6 +2849,7 @@ cxx_eval_call_expression (const constexpr_ctx *ctx, tree t,
{
if (!ctx->quiet)
{
+ auto_diagnostic_group d;
error_at (loc, "non-array deallocation of "
"object allocated with array "
"allocation");
@@ -4193,6 +4199,7 @@ diag_array_subscript (location_t loc, const constexpr_ctx *ctx, tree array, tree
STRIP_ANY_LOCATION_WRAPPER (array);
if (DECL_P (array))
{
+ auto_diagnostic_group d;
if (TYPE_DOMAIN (arraytype))
error_at (loc, "array subscript value %qE is outside the bounds "
"of array %qD of type %qT", sidx, array, arraytype);
@@ -5838,6 +5845,7 @@ cxx_eval_indirect_ref (const constexpr_ctx *ctx, tree t,
static void
outside_lifetime_error (location_t loc, tree r)
{
+ auto_diagnostic_group d;
if (DECL_NAME (r) == heap_deleted_identifier)
{
/* Provide a more accurate message for deleted variables. */
@@ -9460,6 +9468,7 @@ potential_constant_expression_1 (tree t, bool want_rval, bool strict, bool now,
if (flags & tf_error)
{
tree cap = DECL_CAPTURED_VARIABLE (t);
+ auto_diagnostic_group d;
if (constexpr_error (input_location, fundef_p,
"lambda capture of %qE is not a "
"constant expression", cap)