summaryrefslogtreecommitdiff
path: root/gcc/ada/s-fatgen.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-15 09:47:23 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-15 09:47:23 +0000
commit780ad7cd84f4fde1f7e2a8b93160dd61831ecb52 (patch)
treeba1bbe8c3b40dca210bfd8788064d9c9efcdd3ad /gcc/ada/s-fatgen.adb
parentf197f18801d23aa8fce85b5338ce253b09e91a90 (diff)
downloadgcc-780ad7cd84f4fde1f7e2a8b93160dd61831ecb52.tar.gz
2006-02-13 Arnaud Charlet <charlet@adacore.com>
Ben Brosgol <brosgol@adacore.com> Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Remove limitations with sparc m64 support. Document that gnatbind -M option is for cross environments only. Added description of using gnatmem to trace gnat rtl allocs and deallocs Add note on use of $ to label implicit run time calls Add documentation for -gnatyI (check mode IN) Updated chapter on compatibility with HP Ada VMS-oriented edits. Ran spell and corrected errors Add documentation for gnatbind -d and rework documentation of -D at the same time. Add subprogram/data elimination section. Minor editing of annex A. Add section for gnatcheck. Add documentation for restriction No_Dispatching_Calls Add documentation for pragma Ada_2005 Remove mention of obsolete pragma Propagate_Exceptions Document that pragma Unreferenced can appear after DO in ACCEPT Clarify Pure_Function for library level units Mention Max/Min in connection with No_Implicit_Conditionals No_Wide_Characters restriction is no longer partition-wide Add a nice example for Universal_Literal_String attribute Document that pragma No_Return can take multiple arguments * ug_words: Added entry for gnatcheck * g-ctrl_c.ads (Install_Handler): Enhance comments * g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination * g-trasym.ads: Add documentation on how to do off line symbolic traceback computation. * s-fatgen.adb: Add comments for Unaligned_Valid * stand.ads: Fix typo in comment git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111104 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/s-fatgen.adb')
-rw-r--r--gcc/ada/s-fatgen.adb11
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ada/s-fatgen.adb b/gcc/ada/s-fatgen.adb
index 9d4b5042d69..f6a9327e663 100644
--- a/gcc/ada/s-fatgen.adb
+++ b/gcc/ada/s-fatgen.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2005 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2006, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -902,7 +902,16 @@ package body System.Fat_Gen is
Local_T : aliased T;
begin
+ -- Note that we have to be sure that we do not load the value into a
+ -- floating-point register, since a signalling NaN may cause a trap.
+ -- The following assignment is what does the actual alignment, since
+ -- we know that the target Local_T is aligned.
+
To_FSP (Local_T'Address).all := To_FSP (A).all;
+
+ -- Now that we have an aligned value, we can use the normal aligned
+ -- version of Valid to obtain the required result.
+
return Valid (Local_T'Access);
end Unaligned_Valid;