aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2022-03-23 14:46:28 +0100
committerPierre-Marie de Rodat <derodat@adacore.com>2022-05-19 14:05:33 +0000
commite4c84b82c5f903de6911157281a837481bca780e (patch)
treebe13fd5c7ebf696b304a913e50d0877af48501eb
parent9ae384160f4b2e3f3ad1576c737d72e127ffebc1 (diff)
downloadgcc-e4c84b82c5f903de6911157281a837481bca780e.zip
gcc-e4c84b82c5f903de6911157281a837481bca780e.tar.gz
gcc-e4c84b82c5f903de6911157281a837481bca780e.tar.bz2
[Ada] Do not give warnings for compiler-generated entities by default
The rationale is that these entities are almost always the result of expansion activities in the front-end, over which the user has very limited control. These warnings can be restored by means of -gnatD. gcc/ada/ * gcc-interface/utils.cc (gnat_pushdecl): Also set TREE_NO_WARNING on the decl if Comes_From_Source is false for the associated node.
-rw-r--r--gcc/ada/gcc-interface/utils.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/ada/gcc-interface/utils.cc b/gcc/ada/gcc-interface/utils.cc
index d747c63..c583aca 100644
--- a/gcc/ada/gcc-interface/utils.cc
+++ b/gcc/ada/gcc-interface/utils.cc
@@ -852,8 +852,11 @@ gnat_pushdecl (tree decl, Node_Id gnat_node)
if (!deferred_decl_context)
DECL_CONTEXT (decl) = context;
- suppress_warning (decl, all_warnings,
- No (gnat_node) || Warnings_Off (gnat_node));
+ /* Disable warnings for compiler-generated entities or explicit request. */
+ if (No (gnat_node)
+ || !Comes_From_Source (gnat_node)
+ || Warnings_Off (gnat_node))
+ suppress_warning (decl);
/* Set the location of DECL and emit a declaration for it. */
if (Present (gnat_node) && !renaming_from_instantiation_p (gnat_node))