This fixes a recent regression introduced in the machinery giving style
warnings: the -gnatyN switch no longer cancels an earlier -gnaty switch
for separate compilation units.
Running this command:
gcc -c slib.adb -gnatyaAbcefhiIklmM25OnprStux -gnatyN
On the following sources:
package Slib is
procedure I_Am_Short;
end Slib;
with Ada.Text_IO; use Ada.Text_IO;
package body Slib is
-- have a long line here as well.
procedure I_Am_Short is separate;
end Slib;
separate (Slib)
procedure I_Am_Short is
begin
Put_Line (".......................................................");
end I_Am_Short;
Should execute silently.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-09-17 Eric Botcazou <ebotca...@adacore.com>
gcc/ada/
* sem.adb (Do_Analyze): Save Style_Check_Max_Line_Length on
entry and restore it on exit instead of recomputing it.
--- gcc/ada/sem.adb
+++ gcc/ada/sem.adb
@@ -1360,7 +1360,8 @@ package body Sem is
-- unconditionally, and has no restore mechanism, because it is
-- intended as a lowest-level Pure package.
- Saved_ML : constant Int := Style_Max_Line_Length;
+ Saved_ML : constant Int := Style_Max_Line_Length;
+ Saved_CML : constant Boolean := Style_Check_Max_Line_Length;
List : Elist_Id;
@@ -1395,7 +1396,7 @@ package body Sem is
Restore_Scope_Stack (List);
Restore_Ghost_Region (Saved_GM, Saved_IGR);
Style_Max_Line_Length := Saved_ML;
- Style_Check_Max_Line_Length := Style_Max_Line_Length /= 0;
+ Style_Check_Max_Line_Length := Saved_CML;
end Do_Analyze;
-- Local variables