From b2c6b35f24ba203e027caa8e5206810d3d6ae265 Mon Sep 17 00:00:00 2001 From: Hristian Kirtchev <kirtchev@adacore.com> Date: Thu, 31 Jul 2008 12:27:04 +0200 Subject: exp_attr.adb (Find_Stream_Subprogram): Check the base type instead of the type when... 2008-07-31 Hristian Kirtchev <kirtchev@adacore.com> * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead of the type when looking for stream subprograms for type String, Wide_String and Wide_Wide_String. * s-ststop.adb: Change the initialization expression of constant Use_Block_IO. From-SVN: r138383 --- gcc/ada/exp_attr.adb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'gcc/ada/exp_attr.adb') diff --git a/gcc/ada/exp_attr.adb b/gcc/ada/exp_attr.adb index 1637863..006b8f8 100644 --- a/gcc/ada/exp_attr.adb +++ b/gcc/ada/exp_attr.adb @@ -5314,7 +5314,8 @@ package body Exp_Attr is (Typ : Entity_Id; Nam : TSS_Name_Type) return Entity_Id is - Ent : constant Entity_Id := TSS (Typ, Nam); + Base_Typ : constant Entity_Id := Base_Type (Typ); + Ent : constant Entity_Id := TSS (Typ, Nam); begin if Present (Ent) then @@ -5340,7 +5341,7 @@ package body Exp_Attr is -- String as defined in package Ada - if Typ = Standard_String then + if Base_Typ = Standard_String then if Nam = TSS_Stream_Input then return RTE (RE_String_Input); @@ -5356,7 +5357,7 @@ package body Exp_Attr is -- Wide_String as defined in package Ada - elsif Typ = Standard_Wide_String then + elsif Base_Typ = Standard_Wide_String then if Nam = TSS_Stream_Input then return RTE (RE_Wide_String_Input); @@ -5372,7 +5373,7 @@ package body Exp_Attr is -- Wide_Wide_String as defined in package Ada - elsif Typ = Standard_Wide_Wide_String then + elsif Base_Typ = Standard_Wide_Wide_String then if Nam = TSS_Stream_Input then return RTE (RE_Wide_Wide_String_Input); -- cgit v1.1