BUG: 5.8.6 IEEE float build support incomplete.

2005-02-28 Thread John E. Malmberg

If you chose IEEE float, the build scripts do not set everything needed to
build in IEEE floating point mode.

Unless before running MMS/MMK before running Perl you have the equivalent
of the CC command below set:

  $cc :== CC/FLOAT=IEEE/IEEE=DENORM

Most of perl will be built for the default floating point for your
platform.  And this fails the self test is several places.


The /IEEE=DENORM is required for all modules including a main() function
and ignored on all others.

In examining the descrip_mms.template, I see that the
/FLOAT=IEEE/IEEE=DENORM is only used on some of the modules, and never
used on the ones containing a main() routine.

I tried one modification to pass a parameter for FFLAGS (FLOAT FLAGS) to
the the script that modifies the descrip_mms.template, and this works for
it, none of the other descrip.mms files picked up this change.

It took redefining the CC command to get the floating tests to pass.

I have not been able to figure out how to modify the scripts to have all
the C Compiles to specify the /FLOAT=IEEE based on the configure.com
script results.

-John
[EMAIL PROTECTED]
Personal Opinion Only




Re: BUG: 5.8.6 IEEE float build support incomplete.

2005-02-28 Thread Craig Berry
 
On Monday, February 28, 2005, at 02:16PM, John E. Malmberg [EMAIL PROTECTED] 
wrote:


If you chose IEEE float, the build scripts do not set everything needed to
build in IEEE floating point mode.

Yes, they do, but you don't need to choose anything.  IEEE is the default on 
Alpha (and now Itanium) in Perl 5.8.0 and later.  See the section entitled 
Floating Point Considerations in README.vms.

I suppose it's possible we don't properly handle:

$ @configure -Duseieee

since that's the default behavior (and thus unnecessary) and possibly wasn't 
tested.  I do vaguely remember testing to make sure you can disable it via:

$ @configure -Uuseieee

which will revert to the compiler default.  I believe the compiler flags we add 
for IEEE are redundant on Itanium, but it's easier to minimize the number of 
differences.


Re: BUG: 5.8.6 IEEE float build support incomplete.

2005-02-28 Thread John E. Malmberg

On Mon, 28 Feb 2005, Craig Berry wrote:


 On Monday, February 28, 2005, at 02:16PM, John E. Malmberg wrote:

 If you chose IEEE float, the build scripts do not set everything needed to
 build in IEEE floating point mode.

 Yes, they do, but you don't need to choose anything.  IEEE is the default
 on Alpha (and now Itanium) in Perl 5.8.0 and later.  See the section
 entitled Floating Point Considerations in README.vms.

I have looked at it.  I also see that I made an error when I merged in
your large file patch, and dropped the $(flags) for a couple of the build
cases.

 which will revert to the compiler default.  I believe the compiler flags
 we add for IEEE are redundant on Itanium, but it's easier to minimize
 the number of differences.

You will still need /IEEE=DENORM, as that may not be the default.

Ok, that's 2 out of three issues solved.

Thanks,
-John
[EMAIL PROTECTED]
Personal Opinion Only