summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_strm.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-01 12:41:48 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-01 12:41:48 +0000
commit3430bf31e88c262034c8e7798374829f770d112d (patch)
treef17ae2c4493e2fcccba6ae4458951af5c7773594 /gcc/ada/exp_strm.adb
parentbbbe45996aa5ba74dcc27baeb62c49f9dbf7ae05 (diff)
downloadgcc-3430bf31e88c262034c8e7798374829f770d112d.tar.gz
2011-08-01 Geert Bosch <bosch@adacore.com>
* sem_prag.adb (Check_No_Link_Name): New procedure. (Process_Import_Or_Interface): Use Check_No_Link_Name. * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float) instead of Standard_Long_Long_Float_Size global. Preparation for eventual removal of per type constants. * exp_util.ads (Get_Stream_Size): New function returning the stream size value of subtype E. * exp_util.adb (Get_Stream_Size): Implement new function. * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size function. * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size * einfo.adb: (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177026 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_strm.adb')
-rw-r--r--gcc/ada/exp_strm.adb12
1 files changed, 2 insertions, 10 deletions
diff --git a/gcc/ada/exp_strm.adb b/gcc/ada/exp_strm.adb
index 0a22b0117e0..f9b62941757 100644
--- a/gcc/ada/exp_strm.adb
+++ b/gcc/ada/exp_strm.adb
@@ -25,6 +25,7 @@
with Atree; use Atree;
with Einfo; use Einfo;
+with Exp_Util; use Exp_Util;
with Namet; use Namet;
with Nlists; use Nlists;
with Nmake; use Nmake;
@@ -452,22 +453,13 @@ package body Exp_Strm is
FST : constant Entity_Id := First_Subtype (U_Type);
Strm : constant Node_Id := First (Expressions (N));
Targ : constant Node_Id := Next (Strm);
- P_Size : Uint;
+ P_Size : constant Uint := Get_Stream_Size (FST);
Res : Node_Id;
Lib_RE : RE_Id;
begin
Check_Restriction (No_Default_Stream_Attributes, N);
- -- Compute the size of the stream element. This is either the size of
- -- the first subtype or if given the size of the Stream_Size attribute.
-
- if Has_Stream_Size_Clause (FST) then
- P_Size := Static_Integer (Expression (Stream_Size_Clause (FST)));
- else
- P_Size := Esize (FST);
- end if;
-
-- Check first for Boolean and Character. These are enumeration types,
-- but we treat them specially, since they may require special handling
-- in the transfer protocol. However, this special handling only applies