diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2022-03-23 14:46:28 +0100 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-05-19 14:05:33 +0000 |
commit | e4c84b82c5f903de6911157281a837481bca780e (patch) | |
tree | be13fd5c7ebf696b304a913e50d0877af48501eb /gcc/ada/gcc-interface/utils.cc | |
parent | 9ae384160f4b2e3f3ad1576c737d72e127ffebc1 (diff) | |
download | gcc-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.
Diffstat (limited to 'gcc/ada/gcc-interface/utils.cc')
-rw-r--r-- | gcc/ada/gcc-interface/utils.cc | 7 |
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)) |