From: Javier Miranda <[email protected]>

Add missing support for C++ constructor call passed as a generic
formal subprogram parameter.

gcc/ada/ChangeLog:

        * sem_ch3.adb (Analyze_Subtype_Declaration): Record subtypes
        inherit the CPP_Class attribute; required for instantiations.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 gcc/ada/sem_ch3.adb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index c8d8456dc72..b26a6ca70ea 100644
--- a/gcc/ada/sem_ch3.adb
+++ b/gcc/ada/sem_ch3.adb
@@ -6027,6 +6027,7 @@ package body Sem_Ch3 is
                   Set_No_Tagged_Streams_Pragma
                                         (Id, No_Tagged_Streams_Pragma (T));
                   Set_Is_Abstract_Type  (Id, Is_Abstract_Type (T));
+                  Set_Is_CPP_Class      (Id, Is_CPP_Class (T));
                   Set_Class_Wide_Type   (Id, Class_Wide_Type (T));
 
                   if Is_Interface (T) then
-- 
2.53.0

Reply via email to