diff mbox series

[Ada] Detect qualified type names for AI12-0027

Message ID 20201016073540.GA65435@adacore.com
State New
Headers show
Series [Ada] Detect qualified type names for AI12-0027 | expand

Commit Message

Pierre-Marie de Rodat Oct. 16, 2020, 7:35 a.m. UTC
Type in a view conversion can be both qualified and unqualified.

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

gcc/ada/

	* sem_util.adb (Is_View_Conversion): Detect qualified types.
	* sem_util.ads (Is_Actual_In_Out_Parameter): Fix style in
	comment.
diff mbox series

Patch

diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -19641,7 +19641,7 @@  package body Sem_Util is
    function Is_View_Conversion (N : Node_Id) return Boolean is
    begin
       if Nkind (N) = N_Type_Conversion
-        and then Nkind (Unqual_Conv (N)) = N_Identifier
+        and then Nkind (Unqual_Conv (N)) in N_Expanded_Name | N_Identifier
       then
          if Is_Tagged_Type (Etype (N))
            and then Is_Tagged_Type (Etype (Unqual_Conv (N)))


diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads
--- a/gcc/ada/sem_util.ads
+++ b/gcc/ada/sem_util.ads
@@ -1598,7 +1598,7 @@  package Sem_Util is
 
    function Is_Actual_In_Out_Parameter (N : Node_Id) return Boolean;
    --  Determines if N is an actual parameter of in-out mode in a subprogram
-   --  call
+   --  call.
 
    function Is_Actual_Out_Parameter (N : Node_Id) return Boolean;
    --  Determines if N is an actual parameter of out mode in a subprogram call