From 889db59e6e77abf5253c8355d6a5ccbdfe42d3ec Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Tue, 24 May 2022 01:39:08 +0200 Subject: [PATCH] [Ada] Do not give warnings for compiler-generated entities by default gcc/ada/ * gcc-interface/trans.cc (gnat_gimplify_expr) : New case. --- gcc/ada/gcc-interface/trans.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gcc/ada/gcc-interface/trans.cc b/gcc/ada/gcc-interface/trans.cc index f0602b824b0..758df38c1c8 100644 --- a/gcc/ada/gcc-interface/trans.cc +++ b/gcc/ada/gcc-interface/trans.cc @@ -8731,6 +8731,17 @@ gnat_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimplify_and_add (TREE_OPERAND (expr, 0), pre_p); return GS_OK; + case SAVE_EXPR: + op = TREE_OPERAND (expr, 0); + + /* Propagate TREE_NO_WARNING from expression to temporary by using the + SAVE_EXPR itself as an intermediate step. See gimplify_save_expr. */ + if (SAVE_EXPR_RESOLVED_P (expr)) + TREE_NO_WARNING (op) = TREE_NO_WARNING (expr); + else + TREE_NO_WARNING (expr) = TREE_NO_WARNING (op); + break; + case UNCONSTRAINED_ARRAY_REF: /* We should only do this if we are just elaborating for side effects, but we can't know that yet. */ -- 2.47.2