OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: system PRIVILEGED account (rootnfsserver.support.compaq.com)
Date: Wed Jan 24 2001 - 02:30:24 CST

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    *******************************************************************************
    * *
    * This is a newly released patch... *
    * *
    * Online links can be found at *
    * http://ftp.support.compaq.com/patches/entitled/vms/axp/v6.1/pascal_e1058.README
    *******************************************************************************

    TITLE: Compaq Pascal PASCAL_E1058 V5.8 Compilers Alpha ECO Summary
     
    Modification Date: 24-JAN-2001
    Modification Type: New Kit
     
    Copyright (c) Compaq Computer Corporation 2000. All rights reserved.

    PRODUCT: Compaq Pascal for OpenVMS Alpha Systems

    OP/SYS: OpenVMS Alpha

    COMPONENT: SYS$SYSTEM:PASCAL.EXE

    SOURCE: Compaq Computer Corporation

    ECO INFORMATION:

         ECO Kit Name: PASCAL_E1058
         ECO Kits Superseded by This ECO Kit: None
         ECO Kit Approximate Size: 22,446 Blocks
         Kit Applies To: OpenVMS Alpha V6.1 and higher
                          Compaq Pascal for OpenVMS Alpha V5.8
         System/Cluster Reboot Necessary: No
         Rolling Re-boot Supported: No
         Installation Rating: INSTALL_UNKNOWN
                               
         Kit Dependencies:

           The following remedial kit(s) must be installed BEFORE
           installation of this kit:

             None

           In order to receive all the corrections listed in this
           kit, the following remedial kits should also be installed:

             None

    ECO KIT SUMMARY:

    An ECO kit exists for Pascal V5.8 Compilers on OpenVMS Alpha V6.1
    and higher.This kit addresses the following problems:

    Problems Addressed In PASCAL_E1058:

       o Compaq Pascal V5.8 introduced additional support for
          debugging of schema types. When processing a routine that
          has a procedure parameter which itself has a schematic
          parameter, the compiler will generate incorrect code. The
          incorrect code will fail at run-time. For example,

             PROGRAM TEST (OUTPUT);
             PROCEDURE MAIN;
               VAR
                 ID: INTEGER := 100;
                 PROCEDURE INVOKE_PRINT (PROCEDURE PRINT(MESSAGE: STRING));
                   BEGIN
                   PRINT('this is a bug');
                   END;
                 PROCEDURE PRINT_MESSAGE (MESSAGE: STRING);
                   BEGIN
                   WRITE('id=', id:1, ' ');
                   IF ID <> 100 THEN
                     WRITELN(MESSAGE);
                   WRITELN;
                   END;

               BEGIN
               INVOKE_PRINT(PRINT_MESSAGE)
               END;

             BEGIN
             MAIN;
             END.

             will get different results compiled /DEBUG vs compiled
             without /DEBUG.

             This problem has been corrected.

       o Compaq Pascal V5.8 introduced additional support for
          debugging of schema types. However, the algorithm used could
          lead to very long compilation times when using /DEBUG. One
          case reported went from 1:12 to 20:00 minutes. The slowdown
          can occur even if the program does not use schema types.

          The algorithm has been modified to reduce the overhead for
          /DEBUG to approximately 6% (which is similar to the overhead
          for /DEBUG with the V5.7 compiler).

       o Compaq Pascal V5.7-84 included a fix for typecasting arrays
          or records to smaller types and getting the size of these
          typecasted variables correct.

          However, this change was incorrect when applied to ordinal
          types like subranges. For example, the following program
          produces incorrect results:

             PROGRAM CAST_VARIABLE(OUTPUT);

             TYPE
                   SUBRANGE = 0..999999999;
                   SUBRANGE_WITH_SIZE = [BIT(32)] SUBRANGE;

             VAR
                   NUMBER : SUBRANGE;
                   II : INTEGER32;

             BEGIN
             NUMBER := 80;

             II := -1;
             II :: SUBRANGE := NUMBER;
             WRITELN(BIN(II), " Binary data after cast");
             WRITELN(BIN(NUMBER)," Expected binary data");
             II := -1;
             II :: SUBRANGE_WITH_SIZE := NUMBER;
             WRITELN(BIN(II), " Binary data after cast");
             WRITELN(BIN(NUMBER)," Expected binary data");
             END.

             This compiler has been fixed to restore the correct behavior
             for the above example and to fix the original problem also.

    INSTALLATION NOTES:

    The kit must be unpacked with UNZIP. Inside the PASCAL_E1058 ZIP file
    are 4 BACKUP savesets that comprise the Compaq Pascal kit.

    Once unpacked, install this kit with the VMSINSTAL utility by logging into
    the SYSTEM account, and typing the following at the DCL prompt:

      SYS$UPDATE:VMSINSTAL PASCAL_E1058 [location of the savesets]

    A system reboot is not necessary. However, if you are installing this
    ECO in a VMScluster environment, you should invoke the
    SYS$STARTUP:PASCAL$STARTUP.COM command file on the other nodes in the
    the cluster so the new compiler image will be properly installed.

    All trademarks are the property of their respective owners.

    ---