diff options
author | Doug Rupp <rupp@adacore.com> | 2008-05-27 10:50:43 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-05-27 10:50:43 +0200 |
commit | 612c533690e1c9df2808fb86b6ed2ba2597b876d (patch) | |
tree | 393ed5a77a297afd69d6e6d98af5bab026fffe1e /gcc | |
parent | f6e8d321dd3a0c5b9fbae6fe8f764bcc88e76120 (diff) | |
download | gcc-612c533690e1c9df2808fb86b6ed2ba2597b876d.zip gcc-612c533690e1c9df2808fb86b6ed2ba2597b876d.tar.gz gcc-612c533690e1c9df2808fb86b6ed2ba2597b876d.tar.bz2 |
2008-05-27 Doug Rupp <rupp@adacore.com>
* exp_ch6.adb:
(Expand_N_Function_Call): Fix comments. Minor reformatting.
* exp_vfpt.ads:
(Expand_Vax_Foreign_Return): Fix comments.
From-SVN: r135983
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/exp_ch6.adb | 10 | ||||
-rw-r--r-- | gcc/ada/exp_vfpt.ads | 6 |
2 files changed, 8 insertions, 8 deletions
diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb index 793d0f1..7a3c744 100644 --- a/gcc/ada/exp_ch6.adb +++ b/gcc/ada/exp_ch6.adb @@ -3965,17 +3965,17 @@ package body Exp_Ch6 is begin Expand_Call (N); - -- Handle VAX Float return values from foreign compiled functions - - -- More commments required here, what are the tests below for ??? + -- If the return value of a foreign compiled function is + -- VAX Float then expand the return (adjusts the location + -- of the return value on Alpha/VMS, noop everywere else). + -- Comes_From_Source intercepts recursive expansion. if Vax_Float (Etype (N)) and then Nkind (N) = N_Function_Call - and then not (Nkind (Parent (N)) = N_Type_Conversion - and then not Comes_From_Source (Parent (N))) and then Present (Name (N)) and then Present (Entity (Name (N))) and then Has_Foreign_Convention (Entity (Name (N))) + and then Comes_From_Source (Parent (N)) then Expand_Vax_Foreign_Return (N); end if; diff --git a/gcc/ada/exp_vfpt.ads b/gcc/ada/exp_vfpt.ads index fc73795..fdca701 100644 --- a/gcc/ada/exp_vfpt.ads +++ b/gcc/ada/exp_vfpt.ads @@ -47,9 +47,9 @@ package Exp_VFpt is procedure Expand_Vax_Foreign_Return (N : Node_Id); -- The node N is a call to a foreign function that returns a Vax float - -- value in a floating point register. - -- Yes, but what does it do??? there is no hint anywhere in the spec or - -- body comments, need full spec here ??? + -- value in a floating point register. Wraps the call in an asm stub + -- that moves the return value to an integer location on Alpha/VMS, + -- noop everywhere else. procedure Expand_Vax_Real_Literal (N : Node_Id); -- The node N is a real literal node where the type is a Vax floating-point |