public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [Ada] Change format of the ?? warning insertion sequence
@ 2021-10-25 15:09 Pierre-Marie de Rodat
  0 siblings, 0 replies; only message in thread
From: Pierre-Marie de Rodat @ 2021-10-25 15:09 UTC (permalink / raw)
  To: gcc-patches; +Cc: Etienne Servais

[-- Attachment #1: Type: text/plain, Size: 3367 bytes --]

Update all ?X? to ?.x? (likewise for <X<)

Legacy warning insertion sequence stated that ?x? stands for warning
activated with `-gnatwx` and ?X? for `-gnatw.x` leaving no possibilities
to insert a warning activated by `-gnatw_x`.

This change adds support for warning messages that include an
underscore. This change allows two characters between the ?? if the
first is a dot or an underscore.
If the insertion sequence does not match this requirement (eg. `?ab?`,
`?a ?`) a `Program_Error` is raised __at runtime__.

As such, the following insertion sequences are recognized:

* ?x?  -> [-gnatwx]
* ?_x? -> [-gnatw_x]
* ?.x? -> [-gnatw.x]

With the support of the ?_x? insertion sequences, messages that related
to -gnatw_a, -gnatw_c, -gnatw_p, -gnatw_r are now correctly advertised as
relating to these.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

	* errout.adb (Skip_Msg_Insertion_Warning): Adapt and format as
	Erroutc.Prescan_Message.Parse_Message_Class.
	(Warn_Insertion): Adapt to new format.
	* errout.ads: Update documentation.
	* erroutc.adb (Get_Warning_Tag): Adapt to new format.
	(Prescan_Message): Introduce Parse_Message_Class function.
	(Validate_Specific_Warnings): Update ?W? to ?.w?.
	* erroutc.ads: Update type and documentation.
	* checks.adb (Validity_Check_Range): Update ?X? to ?.x?.
	* exp_ch11.adb (Possible_Local_Raise): Update ?X? to ?.x?.
	(Warn_If_No_Local_Raise): Likewise.
	(Warn_If_No_Propagation): Likewise.
	(Warn_No_Exception_Propagation_Active): Likewise.
	* exp_ch4.adb (Expand_N_Allocator): Attach warning message to
	-gnatw_a.
	* exp_prag.adb (Expand_Pragma_Check): Update ?A? to ?.a?.
	* exp_util.adb (Activate_Atomic_Synchronization): Update ?N? to
	?.n?.
	(Add_Invariant_Check): Update ?L? to ?.l?.
	* freeze.adb (Check_Suspicious_Modulus): Update ?M? to ?.m?.
	(Freeze_Entity): Update ?T? to ?.t?, ?Z? to ?.z?.
	* par-util.adb (Warn_If_Standard_Redefinition): Update ?K? to
	?.k?.
	* sem_attr.adb (Min_Max): Update ?U? to ?.u?.
	* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Update ?V?
	to ?.v?.
	(Adjust_Record_For_Reverse_Bit_Order_Ada_95): Update ?V? to ?.v?.
	(Component_Size_Case): Update ?S? to ?.s?.
	(Analyze_Record_Representation_Clause): Update ?S? to ?.s? and
	?C? to ?.c?.
	(Add_Call): Update ?L? to ?.l?.
	(Component_Order_Check): Attach warning message to -gnatw_r.
	(Check_Component_List): Update ?H? to ?.h?.
	(Set_Biased): Update ?B? to ?.b?.
	* sem_ch3.adb (Modular_Type_Declaration): Update ?M? to ?.m?.
	* sem_ch4.adb (Analyze_Mod): Update ?M? to ?.m?.
	(Analyze_Quantified_Expression): Update ?T? to ?.t?.
	* sem_ch6.adb (Check_Conformance): Attach warning message to
	-gnatw_p.
	(List_Inherited_Pre_Post_Aspects): Update ?L? to ?.l?.
	* sem_ch7.adb (Unit_Requires_Body_Info): Update ?Y? to ?.y?.
	* sem_ch8.adb (Analyze_Object_Renaming): Update ?R? to ?.r?.
	* sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Attach
	warning message to -gnatw_c.
	* sem_res.adb (Check_Argument_Order): Update ?P? to ?.p?.
	(Resolve_Comparison_Op): Update ?U? to ?.u?.
	(Resolve_Range): Update ?U? to ?.u?.
	(Resolve_Short_Circuit): Update ?A? to ?.a?.
	(Resolve_Unary_Op): Update ?M? to ?.m?.
	* sem_util.adb (Check_Result_And_Post_State): Update ?T? to ?.t?.
	* sem_warn.adb (Output_Unused_Warnings_Off_Warnings): Update ?W?
	to ?.w?.
	* warnsw.ads: Update documentation for -gnatw_c.

[-- Attachment #2: patch.diff.gz --]
[-- Type: application/gzip, Size: 9944 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-25 15:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-25 15:09 [Ada] Change format of the ?? warning insertion sequence Pierre-Marie de Rodat

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).