Operating System - OpenVMS
1748237 Members
3768 Online
108759 Solutions
New Discussion юеВ

Re: Basic 1.6 and Xfloats

 
SOLVED
Go to solution
carlos fernandez_3
New Member

Basic 1.6 and Xfloats

Several months ago I posted a bug in using the Xfloat numbers within Def Functions.

I was told it was a bug and should be corrected in version 1.6, just released.

I've tested the same little program and happened to not run.

The errors are different than with version 1.5 (compiling errors), now are running errors.

Here is the little program.


Vms is 7.3-1 on Alpha.

I can find for a workaround but as usual it's a mess.

Any ideas?

Regards

Carlos Fernandez



OPTION TYPE = EXPLICIT
DECLARE XFLOAT FUNCTION OK (XFLOAT)

DEF XFLOAT OK (XFLOAT OK_ENTRA)
OK_ENTRA = 0 IF (OK_ENTRA < 0.0001 AND
OK_ENTRA > -0.0001)
OK = OK_ENTRA
END DEF

declare xfloat numero

input 'numero = ';numero
NUMERO = OK (NUMERO)
print 'Numero = ';numero
12 REPLIES 12
David B Sneddon
Honored Contributor

Re: Basic 1.6 and Xfloats

Carlos,

Can you provide a log of the compilation and run
of the above program. My attempts to compile the
code result in an internal compiler error...

Dave
John Gillings
Honored Contributor

Re: Basic 1.6 and Xfloats

Carlos,

Sorry, if you want to be assurred that a fix gets into a release, you need to log a formal case against your service contract.

You've tried the informal path (this forum) and it apparently hasn't worked. So, you need to go the formal path.

A crucible of informative mistakes
Volker Halle
Honored Contributor

Re: Basic 1.6 and Xfloats

Carlos,

please follow John's advice. You've tried the un-official pathes (openvms.org forum and comp.os.vms) to get HP's attention for what you believe is a product problem and it seems to have partially helped.

If you provide a concise reproducer and a detailled description (including all the steps, versions and output of the failure) for your problem, maybe someone with a software service contract for BASIC can reproduce and finally and officially forward this problem to HP.

Volker.
Antoniov.
Honored Contributor

Re: Basic 1.6 and Xfloats

Carlos,
your function doen't return value when OK_ENTRA is in range -0.0001 trhu 0.0001.
You have to supply ELSE option.

Antonio Vigliotti
Antonio Maria Vigliotti
carlos fernandez_3
New Member

Re: Basic 1.6 and Xfloats

Compiling errors occurs in Alpha Basic 1.5

In 1.6 it's a running error.

CARLOS ALPHA >bas pp
CARLOS ALPHA >lin pp
CARLOS ALPHA >r pp
numero = ? 123
Numero = 0
%BAS-F-PROLOSSOR, Internal error in Alpha BASIC Run-Time Library. Please submit an SPR
%TRACE-F-TRACEBACK, symbolic stack dump follows
image module routine line rel PC abs PC
DEC$BASRTL 0 00000000000043A4 000000007C1923A4
PP PP$MAIN PP$MAIN 15 0000000000000164 0000000000020164
0 FFFFFFFF8028759C FFFFFFFF8028759C

I was in contact with the responsible of Basic product who gave me thanks to reduce and report the error. He said it would be solved in 1.6 version.

What I was asking now is if someone with 1.6 version can reproduce the same error.

And there is no need for the ELSE part as OK_ENTRA always has any value. Or the initial one or Zero if it's in the range.

Thanks to all for your time and support.

Carlos
Antoniov.
Honored Contributor

Re: Basic 1.6 and Xfloats

Carlos,
did you compile with qulifier /REAL=XFLOAT?

Antonio Vigliotti
Antonio Maria Vigliotti
Volker Halle
Honored Contributor

Re: Basic 1.6 and Xfloats

Carlos,

now it gets more complicated:

- you've reported a compiler error with BASIC V1.5 and it has been solved in V1.6 - that's good.

- now you compile your program with V1.6 and it fails during runtime with an internal error PROLOSSOR in the DEC$BASRTL (Basic runtime library). If this is really related, no wonder this problem has never been seen, if the compiler didn't work before. One would have expected, that the compiler people would also have run the compiled code, but...

- DEC$BASRTL is part of OpenVMS. You're running V7.3-1, which is not supported anymore.

You need to find someone with a supported version of OpenVMS and BASIC V1.6, who can reproduce this and then log a call to HP.

Volker.
carlos fernandez_3
New Member

Re: Basic 1.6 and Xfloats

to AntonioV

For what I remember, that option is not needed. It only applies to not defined variables, but anyway, I'll give it a try. Option tried and same error.


To Volker,

I really don't know where the problem is.

But this is pasted from the 1.6 release notes.

o Alpha BASIC V1.6 minimally requires OpenVMS Alpha Version 6.2
to run.


o This kit includes an updated RTL. This RTL is install au-
tomatically if it is newer than the currently installed
version. It may also be extracted from saveset C for in-
stallation as necessary. The commands for doing this are as
follows:


$ BACKUP/SELECT=DEC$BASRTL.EXE BASIC016.C/SAVE DEC$BASRTL.EXE
$ COPY DEC$BASRTL.EXE SYS$COMMON:[SYSLIB]
$ INSTALL REPLACE SYS$LIBRARY:DEC$BASRTL ! on each node in the cluster
$ LIBRARY/REPLACE SYS$COMMON:[SYSLIB]IMAGELIB.OLB -
SYS$COMMON:[SYSLIB]DEC$BASRTL.EXE

Note that if OpenVMS is updated, it may be necessary to
reinstall BASIC and/or the updated RTL.

As you said, I need someone to test this small routine in a supported 7.3-2 Vms with 1.6 Basic to know if it's a general problem or just mine.

Thanks guys for your assistance.

Carlos
Volker Halle
Honored Contributor

Re: Basic 1.6 and Xfloats

Carlos,

did you verify, that you're running with the most recent DEC$BASRTL from the BASIC V1.6 kit ?

$ DIR/DATE SYS$SHARE:DEC$BASRTL.EXE
$ ANAL/IMA/INT SYS$SHARE:DEC$BASRTL.EXE
look at Image Identification Information
$ INSTAL LIS SYS$SHARE:DEC$BASRTL.EXE
$ SHOW LOG DEC$BASRTL

Volker.