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.
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))