The code expects the partial view but gets the incomplete view instead.
gcc/ada/
PR ada/123096
* exp_put_image.adb (Build_Record_Put_Image_Procedure): Call
Incomplete_Or_Partial_View with Partial_Only set to True.
gcc/testsuite/
* gnat.dg/specs/put_image2.ads: New test.
-- use the first copy instead.
Partial_View := Incomplete_Or_Partial_View
- (Defining_Identifier (Type_Decl));
+ (Defining_Identifier (Type_Decl),
+ Partial_Only => True);
pragma Assert (Ekind (Partial_View) in
E_Private_Type
--- /dev/null
+-- { dg-do compile }
+-- { dg-options "-gnat2022" }
+
+package Put_Image2 is
+
+ type Abstract_Configuration_Provider is tagged;
+
+ type Configuration_Provider_Access is
+ access all Abstract_Configuration_Provider'Class;
+
+ type Abstract_Configuration_Provider
+ (Child : Configuration_Provider_Access := null) is
+ abstract tagged limited private;
+
+private
+
+ type Abstract_Configuration_Provider
+ (Child : Configuration_Provider_Access := null) is
+ abstract tagged limited null record;
+
+end Put_Image2;