===================================================================
@@ -312,10 +312,10 @@
-- Insertion character < (Less Than: conditional warning message)
-- The character < appearing anywhere in a message is used for a
-- conditional error message. If Error_Msg_Warn is True, then the
- -- effect is the same as ? described above, and in particular << and
- -- <X< have the effect of ?? and ?X? respectively. If Error_Msg_Warn
- -- is False, then the < << or <X< sequence is ignored and the message
- -- is treated as a error rather than a warning.
+ -- effect is the same as ? described above, and in particular <<
+ -- <X< and <*< have the effect of ?? ?X? and ?*? respectively. If
+ -- Error_Msg_Warn is False, then the < << or <X< sequence is ignored
+ -- and the message is treated as a error rather than a warning.
-- Insertion character A-Z (Upper case letter: Ada reserved word)
-- If two or more upper case letters appear in the message, they are
===================================================================
@@ -303,7 +303,7 @@
Error_Msg_Node_1 := N;
Error_Msg_Warn := No_Use_Of_Attribute_Warning (A_Id);
Error_Msg_N
- ("<violation of restriction `No_Use_Of_Attribute '='> &`#", N);
+ ("<*<violation of restriction `No_Use_Of_Attribute '='> &`#", N);
end if;
end Check_Restriction_No_Use_Of_Attribute;
@@ -336,7 +336,7 @@
Error_Msg_Node_1 := Id;
Error_Msg_Warn := No_Use_Of_Pragma_Warning (P_Id);
Error_Msg_N
- ("<violation of restriction `No_Use_Of_Pragma '='> &`#", Id);
+ ("<*<violation of restriction `No_Use_Of_Pragma '='> &`#", Id);
end if;
end Check_Restriction_No_Use_Of_Pragma;
@@ -645,7 +645,7 @@
if No_Dependences.Table (J).Warn then
Error_Msg
- ("??violation of restriction `No_Dependence '='> &`#",
+ ("?*?violation of restriction `No_Dependence '='> &`#",
Sloc (Err));
else
Error_Msg
@@ -691,7 +691,7 @@
Error_Msg_Node_1 := Id;
Error_Msg_Warn := No_Specification_Of_Aspect_Warning (A_Id);
Error_Msg_N
- ("<violation of restriction `No_Specification_Of_Aspect '='> &`#",
+ ("<*<violation of restriction `No_Specification_Of_Aspect '='> &`#",
Id);
end if;
end Check_Restriction_No_Specification_Of_Aspect;
Some restriction warnings messages were still being tagged as [enabled by default] instead of [restriction warning]. The following program used not to give the warning since it got incorrectly suppressed (compiled with -gnatj55 -gnatw.d -gnatl) 1. pragma Warnings (Off, "[enabled by default]"); 2. pragma Restriction_Warnings 3. (No_Dependence => Ada.Containers); 4. with Ada.Containers; | >>> warning: violation of restriction "No_Dependence => Ada.Containers" at line 3 [restriction warning] 5. procedure Ololo (Unref : Integer) is 6. type String is (A, B, C); 7. 8. procedure P (I, J : in out Integer) is 9. begin 10. if I < J then 11. I := I + 1; 12. P (I, J); 13. end if; 14. end P; 15. 16. J, I : Integer := 10; 17. 18. X, Y : Float := 1.0; 19. begin 20. if X = Y then 21. P (J, I); 22. end if; 23. end; Tested on x86_64-pc-linux-gnu, committed on trunk 2014-05-21 Robert Dewar <dewar@adacore.com> * errout.ads: Add documentation for use of >*> tag. * restrict.adb: Make sure we use >*> tag for restriction warnings.