HP OpenVMS Systems

ask the wizard
Content starts here

BASIC ACCVIO within BASRTL?

» close window

The Question is:

 
DEC BASIC V1.3-000
 
Small test program for question submitted about 30 minutes ago.
 
Recap.
 
basic/opt=LEVEL=2 testfunc.bas
 
generates UNINIT INFORMATIONALs referencing the line:
 
        NAMBITS(1)="TEST"
 
subsequent exe ACCVIOs in BASRTL.
 
Using /noopt or /opt=LEVEL=1 seems to remove the problem.
 
More information. Removing the following lines also removes the INFO messages
 when /opt is used...
 
        IF GOAT1_MATCHED = "C" THEN
                JJ=ANOTHERFUNC(II, NAMBITS(), GOAT1_TITLE, GOAT1_GIVEN,
 GOAT1_OTHER, GOAT1_LASTNM, GOAT1_MATCHED )
                MATCHED=MATCHED+JJ
        END IF
 
Regards,
 
Andrew
 
====== start test function ================
%TITLE "TESTFUNC"
FUNCTION LONG TESTFUNC BY DESC  (                                       &
                                                STRING GOATEE,          &
                                                STRING GOAT1_MATCHED,   &
                                                STRING GOAT1_TITLE,     &
                                                STRING GOAT1_GIVEN,     &
                                                STRING GOAT1_OTHER,     &
                                                STRING GOAT1_LASTNM     &
                                                )
 
 
        EXTERNAL LONG FUNCTION ANOTHERFUNC ( INTEGER, STRING DIM (), STRING,
 STRING,    &
                                                        STRING, STRING, STRING )
 
        DECLARE INTEGER II
        DECLARE INTEGER JJ
        DECLARE INTEGER MATCHED
        DECLARE STRING NAMBITS(1 TO 6)
        DECLARE STRING TMP
 
        NAMBITS(1)="TEST"
 
        TESTFUNC = 0%
        MATCHED=0%
 
        TMP=EDIT$(GOATEE,8%+16%+128%)
 
        IF GOAT1_MATCHED = "C" THEN
                JJ=ANOTHERFUNC(II, NAMBITS(), GOAT1_TITLE, GOAT1_GIVEN,
 GOAT1_OTHER, GOAT1_LASTNM, GOAT1_MATCHED )
                MATCHED=MATCHED+JJ
        END IF
 
        TESTFUNC = MATCHED
 
END FUNCTION !
 
 


The Answer is :

 
  Please upgrade your BASIC compiler to a more current release, and
  (re)verify the presence of this error.  (BASIC V1.3 is over five
  years old, and two subsequent compiler releases are available as
  of this writing.)
 
  Also please review topic (1661), as that topic contains discussions
  of common coding errors.
 
  Also please see topic (9027), as that appears potentially related
  to this BASIC error.
 

answer written or last revised on ( 24-NOV-2003 )

» close window