This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] Fix 'Valid on VAX fpt


Tested on i686-linux, committed on HEAD

This patch properly implements the use of 'Valid for Vax float types
which had been overloked completely and did not work. This showed up
as unexpected NaN output from 'Image.

The following test program should work on all targets:

with System.Aux_DEC; use System.Aux_DEC;
with Text_IO; use Text_IO;
procedure test1 is
  F1, F2, F3 : F_Float;
begin
  F1 := 1.0;
  F2 := 2.0;
  F3 := F1 + F2;
  Put_Line (F_Float'Image (1.0));
  Put_Line (Float'Image (Float (F3)));
  Put_Line (F_Float'Image (F3));
end;

giving

 1.00000E+00
 3.00000E+00
 3.00000E+00

2005-09-01  Robert Dewar  <dewar@adacore.com>
	    Doug Rupp  <rupp@adacore.com>

	* exp_attr.adb: Handle vax fpt for 'Valid attribute
	* exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
	* s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
	(Valid_D, Valid_F, Valid_G): New functions

Attachment: difs.14
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]