From: Eric Botcazou Date: Fri, 3 Sep 2021 09:18:01 +0000 (+0200) Subject: Improve compatibility of -fdump-ada-spec with warnings X-Git-Tag: basepoints/gcc-13~4987 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8d34ffb4e8ed5300d0276b55f573add6db2517e8;p=thirdparty%2Fgcc.git Improve compatibility of -fdump-ada-spec with warnings This makes sure that the style and warning settings used in the C/C++ bindings generated by -fdump-ada-spec do not leak into the units that use them. gcc/c-family/ * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks and -gnatwu warning for the package specification. --- diff --git a/gcc/c-family/c-ada-spec.c b/gcc/c-family/c-ada-spec.c index 827bcc768306..b197d551c437 100644 --- a/gcc/c-family/c-ada-spec.c +++ b/gcc/c-family/c-ada-spec.c @@ -3440,11 +3440,12 @@ dump_ads (const char *source_file, dump_ada_nodes (&pp, source_file); /* We require Ada 2012 syntax, so generate corresponding pragma. */ - fputs ("pragma Ada_2012;\n", f); + fputs ("pragma Ada_2012;\n\n", f); /* Disable style checks and warnings on unused entities since this file is auto-generated and always has a with clause for Interfaces.C. */ - fputs ("pragma Style_Checks (Off);\npragma Warnings (\"U\");\n\n", f); + fputs ("pragma Style_Checks (Off);\n", f); + fputs ("pragma Warnings (Off, \"-gnatwu\");\n\n", f); /* Dump withs. */ dump_ada_withs (f); @@ -3452,7 +3453,10 @@ dump_ads (const char *source_file, fprintf (f, "\npackage %s is\n\n", pkg_name); pp_write_text_to_stream (&pp); /* ??? need to free pp */ - fprintf (f, "end %s;\n", pkg_name); + fprintf (f, "end %s;\n\n", pkg_name); + + fputs ("pragma Style_Checks (On);\n", f); + fputs ("pragma Warnings (On, \"-gnatwu\");\n", f); fclose (f); }