Unchecked union components were detected only when declared with
unqualified type names.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* exp_ch4.adb (Component_Is_Unconstrained_UU): Detect both
qualified and unqualified names of unchecked union components.
diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb
--- a/gcc/ada/exp_ch4.adb
+++ b/gcc/ada/exp_ch4.adb
@@ -8154,7 +8154,7 @@ package body Exp_Ch4 is
-- Unconstrained nominal type. In the case of a constraint
-- present, the node kind would have been N_Subtype_Indication.
- if Nkind (Sindic) = N_Identifier then
+ if Nkind (Sindic) in N_Expanded_Name | N_Identifier then
return Is_Unchecked_Union (Base_Type (Etype (Sindic)));
end if;