CXUX_Languages Products are:

ada_7.1.1       ada_rts_7.1.1   axi_88k_6.2     hc_7.1          hf77_7.2        
ada_88k_6.2     axi_7.1.1       hc_6.3.1        hf77_6.3.2                      

================================================================================








                              CX/UX HAPSEO -
                              VERSION 7.1.1
                              RELEASE NOTES

                   Harris Computer Systems Corporation






       1.  Introduction

       The Harris Ada Programming Support Environment (HAPSE) is a
       tool set for the development of Ada programs on Harris
       Computer Systems computers under the CX/UX, CX/RT, and CX/SX
       environments.  The derivation of the validation under
       version 1.11 of the Ada Compiler Validation Capability
       (ACVC) suite is currently in progress at the time of this
       writing.  HAPSE version 7.1.1 (v7.1.1) applies to both
       Series 4000 and Series 5000 systems.  HAPSE v7.1.1 contains
       two distinct Ada run-time environments:  the Basic Ada Run-
       time and the Ada Real-time Multiprocessor System (ARMS)
       (TM).

       HAPSE v7.1.1 contains not only a complete release of the
       HAPSE product, but also a skeleton HAPSE environment that
       makes it possible for more than one version (installation)
       of HAPSE to be configured on your system at a given time.
       Details of this multiple HAPSE capability are outlined in
       Chapter 2 of the HAPSE Reference Manual.

       In addition, HAPSE v7.1.1 includes HAPSE POSIX 1003.5, a
       complete implementation of the Institute of Electrical and
       Electronic Engineers (IEEE) standard IEEE-Std-1003.5-1992.
       POSIX 1003.5 is an abstract Ada binding to items covered by
       POSIX 1003.1.  This implementation is fully compliant with
       the standard and allows users to create fully compliant
       applications.  It includes source code for the specification
       of all POSIX 1003.5 packages as well as the pre-compiled
       form of the source for the specifications and bodies of
       those packages, located under
       hapse_location/bindings/posix_1003.5.


       __________

         - These release notes cover the following products:  ada





                                   - 1 -









       CX/UX HAPSE                7.1.1               Release Notes


       Optional Harris Ada products that are not bundled with the
       HAPSE product are available as stand-alone products that
       must be obtained separately.  For more information about
       optional Ada products and support tools, contact the Harris
       Software Support Center at the number listed in the
       "Documentation" section.

       Optional products that complement HAPSE include the
       following:

          o Harris AXI (TM) (an Ada X Window Systems (TM) Interface
            to Xlib, Xt, and Motif (TM))

          o Harris ID Tools (Ada and C cross-referencing tools)

          o Harris NightView (TM) (a graphical real-time debugger)

          o Harris NightTrace (TM) (a graphical real-time trace and
            analysis tool)



       2.  Trademark Acknowledgements

       ARMS is a trademark of Harris Computer Systems Corporation.
       AXI is a trademark of Sente Corporation.
       HAPSE is a registered trademark of Harris Computer Systems Corporation.
       Motif is a trademark of the Open Software Foundation.
       NightTrace is a trademark of Harris Computer Systems Corporation.
       NightView is a trademark of Harris Computer Systems Corporation.
       X Window System is a trademark of the X Consortium, Inc.



       3.  Documentation

       The following documentation is included with this release:

       _______________________________________________________________
      |                  Manual Name                     Pub. Number |
      |______________________________________________|_______________|
      | HAPSE Reference Manual                       |  0890288-070  |
      | CX/UX HAPSE Runtime Shared Lib. Ver. 7.1.1 RN|  0890449-7.1.1|
      | HAPSE a.db Debugging Manual                  |  0890450-000  |
      | CX/UX HAPSE 7.1.1 Release Notes              |  0890288-7.1.1|
      | HAPSE POSIX 1003.5 Conformance Guide         |  0890404-020  |
      | AXI Reference Manual                         |  0890418-000  |
      |______________________________________________|_______________|





                                   - 2 -









       Release Notes              7.1.1                 CX/UX HAPSE


      |______________________________________________|_______________|


       Additional copies may be ordered by contacting the Harris
       Software Support Center.  The toll-free number is 1-800-
       245-6453.  For calls outside the continental United States
       the number is 1-305-971-6248.

       The HAPSE POSIX 1003.5 Conformance Guide describes in detail
       the compliance of the implementation with the standard.
       Specification of the actual POSIX 1003.5 standard is
       available directly from IEEE, the Institute of Electrical
       and Electronic Engineers (1-800-678-IEEE).




       4.  Prerequisites

       Prerequisites for CX/UX HAPSE Version 7.1.1 are as follows:


       4.1  Hardware

          o Any Series 4000 or Series 5000 system

          o 32MB physical memory (minimum configuration)

          o Total of 8MB physical memory per HAPSE user (minimum
            configuration)


       4.2  Software

          o CX/UX 7.1 (CX/RT 7.1 or CX/SX 7.1 are acceptable)



       5.  Cautions

          o The compiled form of HAPSE v7.1.1 Ada libraries is
            incompatible with those of all previous releases.
            Therefore, all Ada source code contained in user HAPSE
            libraries must be recompiled after the installation of
            HAPSE v7.1.1 (except for libraries that will continue
            to use a previous release as their HAPSE version of
            choice).  The HAPSE tool a.cleanlib should be used to
            clean out user HAPSE libraries before recompilation
            begins.




                                   - 3 -









       CX/UX HAPSE                7.1.1               Release Notes


          o Harris-defined defaults for all system-wide
            configurable HAPSE parameters are in effect when v7.1.1
            is installed.  If non-default parameters were used
            before the installation of this release, please make
            the necessary adjustments to the configurable
            parameters to obtain the desired limits using the HAPSE
            tool a.config.

          o The interface to the a.config tool has been
            significantly enhanced.  The new interface to the
            a.config tool encompasses all the functionality in
            a.sharelib and the old a.config tool's interface.
            However, many old options to a.config are now obsolete.
            a.config still accepts many of the old a.config options
            for compatibility purposes for this release only.
            These options will not be accepted in subsequent
            releases.  Obsolete options that affected the HAPSE-
            wide configuration were not retained in this release as
            they interfered with the new interface.  System
            administrators must use the new interface when
            modifying HAPSE-wide configuration parameters.

          o The a.sharelib tool is now obsolete.  It has been
            replaced by a.config.  a.sharelib remains functional by
            being a link to a.config, which accepts the obsolete
            a.sharelib interface, for this release only.  The link
            will be removed in subsequent releases.

          o The semantics of a.config have changed.  In the old
            model, a library was not required to have a
            configuration.  If it did not, it would use the HAPSE-
            wide configuration.  Any changes to the HAPSE-wide
            configuration had an immediate effect in all libraries
            without configurations.  In the new model, a library
            always has a configuration.  It inherits the HAPSE-wide
            configuration at the time the library is created.  If
            the HAPSE-wide configuration is later changed, that
            change will impact only libraries that are created
            after that change.  If a user wishes the change to
            effect a library that already exists, the change must
            be made to the library separately.

          o The a.target tool is now obsolete.  It is supported for
            compatibility in this release only.  It will be removed
            in subsequent releases.

          o The names of the a.analyze88 and a.report88 tools have
            been changed to a.analyze and a.report, respectively.
            Likewise, the names of the analyze88 and report88 tools




                                   - 4 -









       Release Notes              7.1.1                 CX/UX HAPSE


            have been changed to analyze and report, respectively.
            As in the last release, users should not invoke the
            analyze, report, analyze88, or report88 tools directly.
            They should invoke the a.analyze and a.report tools
            instead, which ensures that correct options are passed
            to the analyze and report tools.  The tools
            a.analyze88, a.report88, analyze88, and report88 are
            included in this release only for compatibility.  They
            will be removed in subsequent releases.

          o HAPSE tools no longer create the .target_88K file in
            each user library. Some users utilize this file in
            their makefiles.  A similar effect can be created by
            using the .HAPSE file in user makefiles instead.

          o Several packages have been removed from the HAPSE
            standard library. For compatibility, the compiled form
            of the old packages have been moved to publiclib.
            These packages will be removed from publiclib in
            subsequent releases.

          o Generation of full debug information (the -g option)
            will increase compilation times by approximately 5 to
            15 percent.  Similarly, the use of the -g option will
            increase the size of generated object files and
            executables by approximately 35 to 45 percent.



       6.  Installation


       Installation instructions are contained solely within
       Chapter 2 of the HAPSE Reference Manual and are not included
       in these release notes.  Please consult the manual for
       configuration options and specific installation procedures
       to use with the multiple HAPSE capability.



       7.  Fixes in This Release

          o All fixes and enhancements from HAPSE v6.2 and HAPSE
            v7.1 patches, including:

               - a.ld no longer requires write access to the HAPSE
                 library containing the main program unit.






                                   - 5 -









       CX/UX HAPSE                7.1.1               Release Notes


               - The ARMS run-time system has been corrected to
                 allow programs linked with it to be profiled using
                 a.analyze with the -P option.

               - The HAPSE-supplied function
                 current_exception.exception now returns a non-null
                 string describing the cause of the current
                 exception, if one has been raised.

               - Type conversions are now allowed as parameters
                 when the corresponding formal parameters are
                 declared with mode out.

               - The parameter profile to sockets.setsockopt has
                 been corrected.

               - The performance of a.ls when executed on large
                 libraries has been improved.

               - Length clauses for fixed-point types which specify
                 values for 'small which are equal to the specified
                 'delta but are not even powers of two are now
                 accepted.

               - the a_strings.substitute routine no longer raises
                 constraint_error when the size of the original
                 substring does not match the size of the
                 replacement substring.

          o Additional Fixes in This Release:

               - The a.db -attach option no longer kills the
                 program being attached if the attach fails.

               - The a.ld tool can now deal with large numbers of
                 Ada shared objects in a single link.

               - The a.path tool no longer requires write
                 permission to a library when it is only displaying
                 the path for that library.



       8.  Features in This Release

          o Compliance with ACVC validation suite version 1.11.

          o Full support of Ada R.M. Chapter 13.





                                   - 6 -









       Release Notes              7.1.1                 CX/UX HAPSE


          o Compliance with IEEE-Std-1003.5-1992.

          o The CX/UX HAPSE POSIX 1003.5 implementation is fully
            compliant when the Basic Ada run-time system is
            selected by the user at link time. (This is the
            default.)  The CX/UX HAPSE POSIX 1003.5 implementation
            is not fully compliant when the ARMS run-time is
            selected at link time (-arms option to the HAPSE tool
            a.ld).  See the HAPSE POSIX 1003.5 Conformance Guide
            for more details.

          o All enhancements from HAPSE v6.2 and HAPSE v7.1
            patches, including:

               - The HAPSE-supplied library harrislib was enhanced.
                 It now includes partial support for 32-bit
                 unsigned integers via the unsigned_support
                 package.

               - .ada is now accepted as a source file suffix in
                 all places where .a and .pp were accepted.

               - The a_strings.free routine has been implemented.

               - The a.ld prelinker was modified to accept the -a
                 and -al options to force ARMS programs to share
                 the specified object file and libraries.

               - The posix_1003.1 library now includes thin/direct
                 bindings to IEEE-Std-1003.1b (POSIX 1003.1b, also
                 previously known as POSIX 1003.4) as well as
                 IEEE-Std-1003.1 (POSIX 1003.1).

               - Several changes have been made to a.db to improve
                 the total size of the debugger and the speed of
                 the debugger during initialization.

          o New Development in This Release:

               - Support for producing DWARF Debug Information:

                    * HAPSE-supplied libraries (standard,
                      harrislib, etc.) are built with DWARF debug
                      information.

                    * It is possible to compile only certain units
                      in a program with debug information and to
                      omit the debug information on others.  This
                      is controlled by the debug level.  The debug




                                   - 7 -









       CX/UX HAPSE                7.1.1               Release Notes


                      level can be set for a compilation via the -g
                      option to a.mklib, a.cleanlib, a.config, ada,
                      and a.make.

                    * Pragma DEBUG is provided to allow users to
                      set the debug_level for a compilation unit
                      from within the Ada source code.  The format
                      is:  pragma DEBUG(unit_name, debug_level),
                      where unit_name is an Ada unit name, and
                      debug_level is either A.DB or FULL.

               - Advantages of DWARF Debug Information:

                    * Allows debugging with the NightView graphical
                      real-time debugger.

                    * The library in which a program was built is
                      no longer necessary for debugging when using
                      NightView with DWARF debug information, as it
                      was with a.db. So, a program can be debugged
                      on a target system that lacks a HAPSE
                      environment.

                    * DWARF debug information is capable of
                      describing almost all languages features.

               - Compilation Size and Speed Improvements:

                    * The size and speed of compilations is
                      improved for the following situation:  The
                      compilation includes complex expressions that
                      involve overload resolution where there are
                      large numbers of functions whose parameter
                      profiles must be checked.  This is most
                      common where an operator such as "+" is
                      overloaded hundreds of times and then used in
                      complex expressions.

               - Optimizations and Performance:

                    * Exception handling speed is improved when an
                      exception is raised and is propagated through
                      frames that handle other exceptions, but that
                      do not handle the exception which was raised.
                      This case is now handled by the internal
                      exception handling code, rather than by
                      implicit raise statements in the generated
                      code.





                                   - 8 -









       Release Notes              7.1.1                 CX/UX HAPSE


               - Optimizations and Program Size:

                    * The selective linking feature of a.ld (-c) is
                      now functional for ELF programs.  It is not
                      available for shared object programs.

               - Tools:

                    * The following tools now support the -g[n]
                      (debug level) option:  ada, a.make, a.mklib,
                      a.cleanlib, and a.config.

                    * The interface to the a.config tool has been
                      significantly enhanced.  See the manual for
                      more information.

                    * The a.make tool now handles commands such as:
                      a.make unit_name.  If it is not aware of the
                      unit named unit_name, it attempts to locate a
                      source file with the name of the unit
                      suffixed with .a, .pp, or .ada.  If found, it
                      will compile that source file, assuming that
                      the unit is contained therein.

                    * The a.ld prelinker was modified to accept the
                      -a and -al options to force ARMS programs to
                      share the specified object file and
                      libraries.

                    * The a.sharelib tool is now obsolete.

                    * The a.target tool is now obsolete.

                    * The a.mklib and a.cleanlib tools no longer
                      accept the -t option.  It is obsolete.

                    * The names of the a.analyze88 and a.report88
                      tools have been changed to a.analyze and
                      a.report, respectively.  Likewise, the names
                      of the analyze88 and report88 tools have been
                      changed to analyze and report, respectively.

                    * The a.ls tool now supports the -U option to
                      display uncompiled units and the -n option to
                      display the total numbers of uncompiled and
                      compiled units in the library.

               - Ada Debugger (a.db) Enhancements and Features:





                                   - 9 -









       CX/UX HAPSE                7.1.1               Release Notes


                    * a.db was modified from a ucb universe
                      application to an att universe program.  This
                      has no effect on the user, but does affect
                      such subtleties as output formats and
                      possibly screen behavior.

                    * If a breakpoint was disabled immediately
                      after it was hit, then a.db could hang the
                      next time the break address was crossed,
                      unless the program was restarted.  a.db no
                      longer hangs when an improperly disabled
                      breakpoint is encountered.

                    * Several bugs related to displaying values of
                      expressions containing C variables and/or
                      function calls were repaired.

                    * A nuisance warning about not locating DWARF
                      information in libc.so.1 was removed.

                    * Performance was improved by adding a cache to
                      tdesc lookup routines.  This is especially
                      noticeable when single stepping.

                    * The stack trace capabilities for a.db were
                      improved, so that a.db is able to walk back
                      through more complex stack frames correctly.

                    * The cs command now works correctly when
                      issued from the entry address of a called
                      subprogram before the allocation of the
                      subprogram's stack frame.

                    * Several bugs in disassembly were fixed.
                      These generally resulted in the debugger
                      going into a tight loop complaining about
                      segmentation faults, bad reads, or assertion
                      errors whenever a key was pressed.

                    * Several performance issues were addressed in
                      the single step I/O polling algorithm.  a.db
                      will perform more blocking waits than it used
                      to.  This results in better performance for
                      the debugged process because more CPU time is
                      available.

               - The following HAPSE-supplied library packages were
                 modified:





                                  - 10 -









       Release Notes              7.1.1                 CX/UX HAPSE


                    * The posix_1003.1 library now includes
                      thin/direct bindings to IEEE-Std-1003.1b
                      (POSIX 1003.1b, also previously known as
                      POSIX 1003.4) as well as IEEE-Std-1003.1
                      (POSIX 1003.1).

                 The following packages have been removed from the
                 HAPSE standard library:

                    * close_all

                    * file_names

                    * ioctl

                    * ioctl_fmt

                    * memory

                    * strlen

                    * strncpy

                    * text_supprt

                    * tty

                    * unix

                    * unix_status_buffer

                 Those packages provided non-standard bindings
                 which were used internally by the language-defined
                 package bodies.

                 Rather than using these packages, we recommend use
                 of IEEE-Std-1003.5-1992, an abstract/thick binding
                 to operating system services.  An implementation
                 of this binding can be found in
                 /usr/hapse/88k_7.1.1/bindings/posix_1003.5.  A
                 non-standard, direct/thin binding to the same
                 operating system services can be found in
                 /usr/hapse/88k_7.1.1/bindings/posix_1003.1.

                 For compatibility, the compiled form of the old
                 packages have been moved to publiclib.  These
                 packages will be removed from publiclib in
                 subsequent releases.





                                  - 11 -









       CX/UX HAPSE                7.1.1               Release Notes


               - Optional Products:

                    * Ada bindings to the X Window System
                      (including Xlib, Xt, and Motif) may be
                      purchased for any system running this release
                      of HAPSE.

                    * Harris ID tools may be used for performing
                      cross-referencing over Ada source files.

                    * Harris NightView is a graphical real-time
                      debugger capable of debugging programs
                      created with this HAPSE.

                    * Harris NightTrace is a graphical real-time
                      tracing tool which is capable of tracing
                      programs created with this HAPSE.




































                                  - 12 -









       Release Notes              7.1.1                 CX/UX HAPSE


       9.  Changes From Previous Releases

          o The dr_interface package will not be released with the
            next version of HAPSE.  Please use the
            real_time_data_monitoring package instead.

          o The structure of the internal representation of
            previously compiled information (DIANA) has changed in
            this release. Therefore, libraries previously compiled
            with different versions of HAPSE must be cleaned and/or
            removed if this version of HAPSE is to be used in such
            libraries.

          o The interface to the a.config tool has been
            significantly enhanced.  The new interface to the
            a.config tool encompasses all the functionality in
            a.sharelib and the old a.config tool's interface.
            However, many old options to a.config are now obsolete.
            a.config still accepts many of the old a.config options
            for compatibility purposes for this release only.
            These options will not be accepted in subsequent
            releases.  Obsolete options that affected the HAPSE-
            wide configuration were not retained in this release,
            as they interfered with the new interface.  System
            administrators must use the new interface when
            modifying HAPSE-wide configuration parameters.

          o The a.sharelib tool is now obsolete.  It has been
            replaced by a.config.  a.sharelib remains functional by
            being a link to a.config, which accepts the obsolete
            a.sharelib interface, for this release only.  The link
            will be removed in subsequent releases.

          o The semantics of a.config have changed.  In the old
            model, a library was not required to have a
            configuration.  If it did not, it would use the HAPSE-
            wide configuration.  Any changes to the HAPSE-wide
            configuration had an immediate effect in all libraries
            without configurations.  In the new model, a library
            always has a configuration.  It inherits the HAPSE-wide
            configuration at the time the library is created.  If
            the HAPSE-wide configuration is later changed, that
            change will impact only libraries that are created
            after that change.  If a user wishes the change to
            effect a library that already exists, the change must
            be made to the library separately.

          o The a.target tool is now obsolete.  It is supported for
            compatibility in this release only.  It will be removed




                                  - 13 -









       CX/UX HAPSE                7.1.1               Release Notes


            in subsequent releases.

          o The a.mklib and a.cleanlib tools no longer accept the
            -t option.  It is obsolete.

          o The names of the a.analyze88 and a.report88 tools have
            been changed to a.analyze and a.report, respectively.
            Likewise, the names of the analyze88 and report88 tools
            have been changed to analyze and report, respectively.
            As in the last release, users should not invoke the
            analyze, report, analyze88, or report88 tools directly.
            Instead, they should invoke the a.analyze and a.report
            tools, which ensure that correct options are passed to
            the analyze and report tools.  The tools a.analyze88,
            a.report88, analyze88, and report88 are included in
            this release only for compatibility.  They will be
            removed in subsequent releases.

          o HAPSE tools no longer create the .target_88K file in
            each user library. Some users utilize this file in
            their makefiles.  A similar effect can be created by
            using the .HAPSE file in user makefiles instead.

          o The tools fe.88k, cg.88k, reorder.88k, a.ld.88k, and
            std.88k have changed their names to fe, cg, reorder,
            a.ld, and std, respectively.  These tools should never
            be executed by the user, so this change should not have
            any adverse effects on the user.

          o Several packages have been removed from the HAPSE
            standard library. For compatibility, the compiled form
            of the old packages have been moved to publiclib.
            These packages will be removed from publiclib in
            subsequent releases.



       10.  Known Problems with HAPSE v7.1.1

       In the HAPSE POSIX 1003.5 Conformance Guide, page 2-4, for
       Section 2.4.1.2.1 Configurable System Limits, change
       Open_Stream_Maxima to Stream_Maxima.

       Problems with HAPSE version 7.1.1 will be individually
       resolved in patches to v7.1.1, or in subsequent releases.








                                  - 14 -









       Release Notes              7.1.1                 CX/UX HAPSE


       11.  Direct Software Support

       Software support is available from a central source.  When
       you need assistance or information about your system, please
       contact the Harris Software Support Center at our toll free
       number (800-245-6453).  Our customers outside the
       continental United States can contact us directly at 305-
       971-6248.  The Software Support Center operates Monday
       through Friday from 8 a.m. to 7 p.m., Eastern Standard time.

       Calling the Software Support Center gives you immediate
       access to a broad range of skilled personnel and guarantees
       you a prompt response from the person most qualified to
       assist you.  If you have a question requiring on-site
       assistance or consultation, the Software Support Center
       staff will arrange for a field analyst to return your call
       and schedule a visit.

       Harris provides a Software Action Request (SAR) form which
       our customers can fill out and submit to their local field
       analyst or the Software Support Center.  This procedure
       ensures that your request is entered into our SAR database
       for follow-up and action.

       To obtain copies of SAR forms, call the Software Support
       Center and request form number CSD1833B.



























                                  - 15 -












                                 CONTENTS


        1.  Introduction............................................   1

        2.  Trademark Acknowledgements..............................   2

        3.  Documentation...........................................   2

        4.  Prerequisites...........................................   3
            4.1  Hardware...........................................   3
            4.2  Software...........................................   3

        5.  Cautions................................................   3

        6.  Installation............................................   5

        7.  Fixes in This Release...................................   5

        8.  Features in This Release................................   6

        9.  Changes From Previous Releases..........................  13

       10.  Known Problems with HAPSE v7.1.1........................  14

       11.  Direct Software Support.................................  15



























                                  - i -













          _________________________________________________________________

                                       HARRIS
                                  COMPUTER SYSTEMS
          _________________________________________________________________











                                    CX/UX HAPSEO
                                    VERSION 7.1.1

                                    RELEASE NOTES




                                    0890288-7.1.1












                                    October 1994






          _________________________________________________________________













                                        return to index
================================================================================








                           Power UNIX HAPSEO -
                              VERSION 7.1.1
                              RELEASE NOTES

                   Harris Computer Systems Corporation






       1.  Introduction

       The Harris Ada Programming Support Environment (HAPSE) is a
       tool set for the development of Ada programs on RS/6000
       computers under the Power UNIX environment.  HAPSE v7.1.1
       uses the Basic Ada Run-time System, which implements Ada
       tasks as states of execution contained within a single
       process (the user program).

       HAPSE v7.1.1 contains not only a complete release of the
       HAPSE product, but also a skeleton HAPSE environment that
       makes it possible for more than one version (installation)
       of HAPSE to be configured on your system at a given time.
       Details of this multiple HAPSE capability are outlined in
       Chapter 2 of the HAPSE Reference Manual.

       In addition, HAPSE v7.1.1 includes HAPSE POSIX 1003.5, a
       complete implementation of the Institute of Electrical and
       Electronic Engineers (IEEE) standard IEEE-Std-1003.5-1992.
       POSIX 1003.5 is an abstract Ada binding to items covered by
       POSIX 1003.1.  This implementation is fully compliant with
       the standard and allows users to create fully compliant
       applications.  It includes source code for the specification
       of all POSIX 1003.5 packages as well as the pre-compiled
       form of the source for the specifications and bodies of
       those packages, located under
       hapse_location/bindings/posix_1003.5.

       For more information about packages and support tools,
       contact the Harris Software Support Center at the number
       listed in the Documentation section.



       __________

         - These release notes cover the following products:  ada





                                   - 1 -









       Power UNIX HAPSE           7.1.1               Release Notes


       2.  Trademark Acknowledgements

       HAPSE is a registered trademark of Harris Corporation.



       3.  Documentation

       The following documentation is included with this release:

          ______________________________________________________
         |             Manual Name                 Pub. Number |
         |_____________________________________|_______________|
         | HAPSE Reference Manual              |  0890288-070  |
         | HAPSE a.db Debugging Manual         |  0890450-010 *|
         | Power UNIX HAPSE 7.1.1 Release Notes|  0890288-7.1.1|
         | HAPSE POSIX 1003.5 Conformance Guide|  0890404-020 *|
         |_____________________________________|_______________|


       Additional copies may be ordered by contacting the Harris
       Software Support Center.  The toll-free number is 1-800-
       245-6453.  For calls outside the continental United States
       the number is 1-305-971-6248.

       The HAPSE POSIX 1003.5 Conformance Guide describes in detail
       the compliance of the implementation with the standard.
       Specification of the actual POSIX 1003.5 standard is
       available directly from IEEE, the Institute of Electrical
       and Electronic Engineers (1-800-678-IEEE).




       4.  Prerequisites

       Prerequisites for Power UNIX HAPSE Version 7.1.1 are as
       follows:


       4.1  Hardware

          o Any IBM RS/6000 system

          o 32MB physical memory (minimum configuration)

          o Total of 8MB physical memory per HAPSE user (minimum
            configuration)





                                   - 2 -









       Release Notes              7.1.1            Power UNIX HAPSE


       4.2  Software

          o Power UNIX 1.1, patch level base-007. If NFS is
            installed, patch level nfs-001.



       5.  Cautions

          o Harris-defined defaults for all system-wide
            configurable HAPSE parameters are in effect when v7.1.1
            is installed.  If non-default parameters were utilized
            prior to the installation of this release, please make
            the necessary adjustments to the configurable
            parameters to obtain the desired limits using the HAPSE
            tool a.config.

          o HAPSE v7.1.1 produces executable images using the ELF
            object file format, which includes DWARF debug
            information. Shared-Objects and dynamic linking are not
            supported in this release.  For in-depth discussions
            about object format and linking under Power UNIX 1.1,
            refer to the Compilation Systems Volume 2 (Concepts)
            manual, "Executable and Linking Format (ELF)" chapter.

          o Single and double precision floating point entities
            must be aligned on word boundaries.  The compiler will
            issue an error when it finds a misaligned float.



       6.  Installation


       HAPSE is installed as an optional package to the operating
       system.  Installation instructions for loading packages are
       contained in the Secure/Power UNIX Version 1.1 Release
       Notes.  For a better understanding of the multiple HAPSE
       capability which is being installed on your system, see
       Chapter 2 of the HAPSE Reference Manual.



       7.  Features in this Release

          o Compliance with ACVC validation suite version 1.11.

          o Full support of Ada R.M. Chapter 13.





                                   - 3 -









       Power UNIX HAPSE           7.1.1               Release Notes


          o Compliance with IEEE-Std-1003.5-1992.  The HAPSE POSIX
            1003.5 implementation is fully compliant when using the
            Basic Ada Run-time system.  (This is the default.)  See
            the HAPSE POSIX 1003.5 Conformance Guide for more
            details.

          o Two profiling tools, a.analyze and a.report are
            available for compile-time analysis.  When an
            executable is linked with the HAPSE tracing run-time
            library, the tool a.trace prints a run-time analysis.
            See the HAPSE Reference Manual for more details.



       8.  Known Problems with HAPSE v7.1.1

       Problems with HAPSE version 7.1.1 will be individually
       resolved in patches to v7.1.1 or in subsequent releases.




       9.  Direct Software Support

       Software support is available from a central source.  When
       you need assistance or information about your system, please
       contact the Harris Software Support Center at our toll free
       number (800-245-6453).  Our customers outside the
       continental United States can contact us directly at 305-
       971-6248.  The Software Support Center operates Monday
       through Friday from 8 a.m. to 7 p.m., Eastern Standard time.

       Calling the Software Support Center gives you immediate
       access to a broad range of skilled personnel and guarantees
       you a prompt response from the person most qualified to
       assist you.  If you have a question requiring on-site
       assistance or consultation, the Software Support Center
       staff will arrange for a field analyst to return your call
       and schedule a visit.

       Harris provides a Software Action Request (SAR) form which
       our customers can fill out and submit to their local field
       analyst or the Software Support Center.  This procedure
       ensures that your request is entered into our SAR database
       for follow-up and action.

       To obtain copies of SAR forms, call the Software Support
       Center and request form number CSD1833B.





                                   - 4 -









       Release Notes              7.1.1            Power UNIX HAPSE























































                                   - 5 -












                                 CONTENTS


       1.  Introduction..............................................  1

       2.  Trademark Acknowledgements................................  2

       3.  Documentation.............................................  2

       4.  Prerequisites.............................................  2
           4.1  Hardware.............................................  2
           4.2  Software.............................................  3

       5.  Cautions..................................................  3

       6.  Installation..............................................  3

       7.  Features in this Release..................................  3

       8.  Known Problems with HAPSE v7.1.1..........................  4

       9.  Direct Software Support...................................  4































                                  - i -













          _________________________________________________________________

                                       HARRIS
                                  COMPUTER SYSTEMS
          _________________________________________________________________











                                  Power UNIX HAPSEO
                                    VERSION 7.1.1

                                    RELEASE NOTES




                                    0890288-7.1.1












                                    October 1994






          _________________________________________________________________













                                        return to index
================================================================================








                              CX/UX HAPSEO -
                               VERSION 6.2
                              RELEASE NOTES

                     Harris Computer Systems Division






       1.  Introduction

       The Harris Ada Programming Support Environment (HAPSE) is a
       tool set for the development of Ada programs on Harris
       computers under the CX/UX, CX/RT, and CX/SX environments.
       This release has been validated under version 1.11 of the
       Ada Compiler Validation Capability (ACVC) suite.  HAPSE
       version 6.2 (v6.2) applies to both Harris Series-4000 and
       Harris Series-5000 systems.  HAPSE v6.2 contains two
       distinct Ada run-time environments:  the Basic Ada Run-time
       and the Ada Real-time Multiprocessor System (ARMS) (TM).

       HAPSE v6.2 contains not only a complete release of the HAPSE
       product, but also a skeleton HAPSE environment that makes it
       possible for more than one version (installation) of HAPSE
       to be configured on your system at a given time.  Details of
       this multiple HAPSE capability are outlined in Chapter 2 of
       the CX/UX HAPSE Reference Manual.

       In addition, HAPSE v6.2 includes CX/UX HAPSE POSIX 1003.5, a
       complete implementation of the Institute of Electrical and
       Electronic Engineers (IEEE) standard IEEE-Std-1003.5-1992.
       POSIX 1003.5 is an abstract Ada binding to items covered by
       POSIX 1003.1.  This implementation is fully compliant with
       the standard and allows users to create fully compliant
       applications.  It includes source code for the specification
       of all POSIX 1003.5 packages as well as the pre-compiled
       form of the source for the specifications and bodies of
       those packages, located under
       hapse_location/bindings/posix_1003.5.



       __________

         - These release notes cover the following products:
           ada_88k





                                   - 1 -









       CX/UX HAPSE                 6.2                Release Notes


       Optional Harris Ada products that are not bundled with the
       HAPSE product are available as stand-alone products that
       must be obtained separately.  For more information about
       optional Ada products and support tools, contact the Harris
       Software Support Center at the number listed in the next
       section.

       Optional products that complement HAPSE include the
       following:

          o Harris AXI (an Ada X Window Systems (TM) Interface to
            Xlib, Xt, and Motif (TM))

          o Harris ID Tools (Ada and C cross-referencing tools)

          o Harris NightTrace (TM) (a graphical real-time trace and
            analysis tool)



       2.  Trademark Acknowledgements

       ARMS is a trademark of Harris Corporation.
       HAPSE is a registered trademark of Harris Corporation.
       Motif is a trademark of the Open Software Foundation.
       NightTrace is a trademark of Harris Corporation.
       X Window System is a trademark of the Massachusetts Institute of Technology.



       3.  Documentation

       The following documentation is included with this release:

        __________________________________________________________
       |                Manual Name                   Pub. Number|
       |___________________________________________|_____________|
       | CX/UX HAPSE Reference Manual              |  0890288-050|
       | CX/UX HAPSE 6.2 Release Notes             |  0890288-6.2|
       | CX/UX HAPSE POSIX 1003.5 Conformance Guide|  0890404-010|
       | HAPSE a.db Debugging Manual               |  0890450-000|
       |___________________________________________|_____________|


       Additional copies may be ordered by contacting the Harris
       Software Support Center.  The toll-free number is 1-800-
       245-6453.  For calls outside the continental United States
       the number is 1-305-971-6248.





                                   - 2 -









       Release Notes               6.2                  CX/UX HAPSE


       The CX/UX HAPSE POSIX 1003.5 Conformance Guide describes in
       detail the compliance of the implementation with the
       standard.  Specification of the actual POSIX 1003.5 standard
       is available directly from IEEE, the Institute of Electrical
       and Electronic Engineers (1-800-678-IEEE).




       4.  Prerequisites

       Prerequisites for CX/UX HAPSE Version 6.2 are as follows:









































                                   - 3 -









       CX/UX HAPSE                 6.2                Release Notes


       4.1  Hardware

          o Any Harris Series-4000 or Series-5000 system

          o 32MB physical memory (minimum configuration)

          o Total of 8MB physical memory per HAPSE user (minimum
            configuration)


       4.2  Software

          o CX/UX 6.2 (CX/RT 6.2 or CX/SX 6.2 are acceptable)



       5.  Cautions

          o The compiled form of HAPSE v5.2 and HAPSE v6.2 Ada
            libraries are incompatible.  Therefore, all Ada source
            code contained in user HAPSE libraries must be
            recompiled after the installation of HAPSE v6.2 (except
            for libraries that continue to use HAPSE v5.2 as their
            HAPSE version of choice).  The HAPSE tool, a.cleanlib,
            should be used to clean out user HAPSE libraries before
            recompilation begins.

          o Harris-defined defaults for all system-wide
            configurable HAPSE parameters are in effect when v6.2
            is installed.  If non-default parameters were utilized
            prior to the installation of this release, please make
            the necessary adjustments to the configurable
            parameters to obtain the desired limits using the HAPSE
            tool a.config.



       6.  Installation


       Installation instructions are contained solely within
       Chapter 2 of the CX/UX HAPSE Reference Manual and are not
       included in these release notes.  Please consult the manual
       for configuration options and specific installation
       procedures to use with the multiple HAPSE capability.








                                   - 4 -









       Release Notes               6.2                  CX/UX HAPSE


       7.  Fixes in this Release

          o All fixes and enhancements from HAPSE v5.2 patches.

               - A patched assembler has been provided which does
                 not corrupt object files produced from large Ada
                 source files.

               - In the Basic Ada run-time model, the a.db tool no
                 longer disables breakpoints between one execution
                 of a program and the next in the same session.

               - a.ld now correctly links programs that use the AXI
                 (X Window System) bindings.

               - The performance of a.ld was significantly
                 improved.

               - a.slinker now removes dead routines which were
                 previously considered as "live" only because they
                 had explicit exception handlers.

               - a.slinker now removes dead routines from programs
                 which utilize C object that was compiled for the
                 88110 architecture (Series 5000).

               - The code generator now correctly sizes
                 uninitialized package allocation bases that are
                 marked with pragma MEMORY_POOL (data, pkg, ...);
                 this corrects the bus error or segmentation fault
                 sometimes seen during program startup.

               - The run-time startup code now migrates to the
                 correct CPU board before creating the physical
                 local memory pool as specified by the user via
                 pragma MEMORY_POOL (data, pkg, local, ...).

               - The a.make tool now correctly compiles source
                 files after failed compilations of subunits when
                 their source files contain other, unrelated units,
                 and when the error is actually in a parent unit.

               - The a.make tool was not prepared for the
                 circumstance that the same PID may be reused at
                 different times in extremely long compilations.
                 It now correctly handles this situation.

               - The implementation of a.make's -All option has
                 been corrected to compile source files of out-of-




                                   - 5 -









       CX/UX HAPSE                 6.2                Release Notes


                 date units in other libraries in those other
                 libraries.

               - A new option, a.make -import, compiles all out-
                 of-date units into the current library or library
                 specified by -lib.

               - The a.make tool now correctly handles the case
                 where large numbers of error messages occur in its
                 dependency-analysis phase.

               - The performance of a.make was significantly
                 improved.

               - a.monitor's permissions were corrected and
                 fast_interrupt_task tasks are now displayed even
                 in the absence of "ghost" mode.

               - The a.rm tool has been extensively modified and
                 will no longer corrupt ada.lib files.

               - The a.rm utility now accepts a new option, -U.  It
                 permits a user to place units in the UNCOMPILED
                 state, instead of physically removing them.  The
                 use of this option works correctly with the a.make
                 utility, whereas the physical removal of units
                 without the -U option can confuse it.

               - The requirement for the Data_Rec_Array_Index_Limit
                 to be greater than 1 in order to data record or
                 monitor complex array components was lifted for
                 the tool a.rtm and the real_time_data_monitoring
                 package.  This tool and package now are able to do
                 lookups on arbitrarily complex array components as
                 long as Data_Array_Index is 1 (or greater.)
                 Please note that the system utility rtutil(1) was
                 not modified and its requirements have not
                 changed.

               - A bug in the internal symbol table management for
                 a.rtm and the real_time_data_monitoring package
                 was corrected such that simple name collisions are
                 handled correctly; two variables in different
                 packages that have the same simple name can now be
                 monitored.

               - The a.target tool no longer fails when executed.






                                   - 6 -









       Release Notes               6.2                  CX/UX HAPSE


               - Automatic packing of arrays will not pack an array
                 such that the elements will be smaller than
                 specified by the user in a 'size representation
                 clause on the element type.  Explicit packing with
                 pragma PACK, of course, can still force complete
                 packing.

               - Packed-record assignment involving bit extraction
                 now works correctly.

               - The -dr option no longer causes the compiler to
                 abort with a signal 11.

               - Compilation involving nested records where the
                 outer record is declared private no longer cause
                 internal assertion errors.

               - Compilations of units containing fixed-point types
                 with dynamic bounds used as the elements of packed
                 types now compile without internal errors.

               - Multiple executions of the fe.88k processor no
                 longer deadlock.

               - The fe.88k processor has been modified to store
                 correct source file names where there was a
                 previous compilation of a foreign source file
                 which contained generic instantiations.  (A
                 foreign source file is a source file that exists
                 in a library other than the library in which it is
                 compiled; compiling with the -lib option allows
                 this.)

               - The compilation speed of very large array
                 aggregates specified with positional notation has
                 been considerably improved.  As an additional
                 consequence of this, the "TN count exceeded" error
                 does not occur in relation to them.

               - The compilation of non-local source files
                 containing separate subunits of separate subunits
                 no longer produces linker errors.

               - Bit moves involving objects overlaid with a "for x
                 use y.z'address" clause, where the base address of
                 the two objects was not identical, now works
                 correctly.






                                   - 7 -









       CX/UX HAPSE                 6.2                Release Notes


               - The front end of the compiler was corrected to
                 elaborate task interrupt entry addresses in the
                 presence of high levels of optimization.

               - The abortion of tasks in select statements with
                 "terminate" alternatives under the ARMS model no
                 longer causes the task master to terminate
                 prematurely.

               - On Series 5000 systems, the non-volatile x
                 registers are saved in all appropriate cases.

               - Text_io.new_page raises STATUS_ERROR if the file
                 is null.

               - The standard library contains a new package called
                 address_clauses.  The package contains the
                 elaboration code for address clauses.  If users
                 wish to modify this code, they can simply make a
                 copy of the file locally, change the code and add
                 a with clause on their copy of the address_clauses
                 package to one of the units in their program.

               - A new package, task_synchronization, which
                 provides the equivalent of a counting semaphore,
                 was added to the arms HAPSE library.  This
                 provides an extremely efficient real-time
                 mechanism for synchronizing "n" ARMS tasks.

               - Ada tasking programs that use the AXI bindings no
                 longer experience STORAGE_ERRORS while in the
                 Xt.AppMainLoop routine.

          o Additional Fixes in this Release:

               - Generic instantiations now compile correctly in
                 child libraries, even when the same units exist in
                 parent libraries, thus eliminating link errors.

               - Recompilation of units, when those same units
                 exist in other libraries on the ADAPATH now work
                 correctly.

               - a.make -p recovers gracefully from failed fork()
                 calls and when it exhausts both pipes and file
                 descriptors.  It continues after reducing the
                 degree of parallelism.






                                   - 8 -









       Release Notes               6.2                  CX/UX HAPSE


               - a.rm -U was corrected to remove .objects files.



       8.  Features in this Release

          o Compliance with ACVC validation suite version 1.11.

          o Full support of Ada R.M. Chapter 13.

          o Compliance with IEEE-Std-1003.5-1992.  The CX/UX HAPSE
            POSIX 1003.5 implementation is fully compliant when the
            Basic Ada Run-time system is selected by the user at
            link time. (This is the default.)  The CX/UX HAPSE
            POSIX 1003.5 implementation is not fully compliant when
            the ARMS Run-time is selected at link time (-arms
            option to the HAPSE tool a.ld).  See the CX/UX HAPSE
            POSIX 1003.5 Conformance Guide for more details.

          o All enhancements from v5.2 patches, including:

               - A new option, a.rm -U, places a unit in an
                 UNCOMPILED state.

               - A new option, a.make -import, compiles all out-
                 of-date units into the current library or library
                 specified by -lib.


























                                   - 9 -









       CX/UX HAPSE                 6.2                Release Notes


          o New Development in this Release:

               - ARMS Enhancements:

                    * Pragma MEMORY_POOL.  The implementation
                      requires less physical memory and less CPU
                      time during elaboration.  The memory pool
                      configuration can be stored in a dynamic
                      MAP_FILE, which may be altered without
                      relinking the program.  Use the new a.ld -mp
                      option for this.

                    * Pragma PASSIVE_TASK enhancements include the
                      addition of GENERAL passive tasks, which have
                      fewer restrictions on the form of a task
                      body, and IPL_SERVER passive tasks (system
                      Interrupt Priority Level control for use with
                      FAST_INTERRUPT_TASKs).

                    * Pragma FAST_INTERRUPT_TASK enhancements
                      include support for the IPL_SERVER passive
                      task mechanism.  Also, conditional entry
                      calls to passive and non-passive tasks are
                      now allowed.

               - Optimizations and Program Size:

                    * Enhanced instruction scheduling.

                    * Reduced compilation size and time for large
                      programs.

                    * More opportunities for a.analyze88
                      optimizations.

                    * General code quality improvements.

                    * Internal symbol name-space changes
                      significantly reduce the size of linked
                      programs.

               - Tools:

                    * Automatic translation of raw symbol names to
                      Ada expanded names is output from the tools
                      a.analyze88 and a.report88.  Use the new
                      option -Zraw_names, to preserve the raw form.
                      Other new options include -hapse, -lib, and
                      -V (very verbose).  See the help screens or




                                  - 10 -









       Release Notes               6.2                  CX/UX HAPSE


                      man pages for a list of all options.

                    * a.demangle is a new tool which filters names
                      into a human-readable form.

                    * The new a.ld -mp option creates a memory-pool
                      map file that describes the layout of memory
                      pools defined by the user via pragma
                      MEMORY_POOL, as well as default heap and
                      stack sizes.  At post-link time, the user may
                      modify entries in this file, which affect
                      physical location, cache mode, and size.  The
                      values are read at program startup and used
                      during program execution by the ARMS
                      executive.  No relinking is needed.

                    * Enhancements were made to a.make -Z (zoom),
                      which ignores non-local libraries to reduce
                      recompilation time.

                    * The a.make tool was enhanced to handle this
                      situation:  a.make is given a target in a
                      library that has no such object available,
                      yet a source file exists with the name
                      {object}.a or {object}.pp.   Instead of
                      getting a fatal error, a.make finds
                      dependents of that source file and attempts
                      to compile the target again, in case {object}
                      is in that source file.

                    * Enhancements to a.monitor include
                      initialization-time performance improvements
                      and an automatic rescan if a program is not
                      currently running.

                    * Enhancements to a.rtm include the ability to
                      define a display format for a particular item
                      (e.g., base, fore, aft, exp), the ability to
                      define a default display format for discrete
                      types and real types (e.g., base, fore, aft,
                      exp), a fast modify mode from the command
                      window, and improved handling of long
                      expanded names in the display.

               - Ada Debugger (a.db) Enhancements and Features:

                    * a.db displays array slices.






                                  - 11 -









       CX/UX HAPSE                 6.2                Release Notes


               - The following HAPSE-supplied library packages were
                 added or modified:

                    * Package: interrupt_entry, arms.  File:
                      interrupt_entry.a.  Description:  New
                      subprogram specifications were added to allow
                      for blocking and unblocking of interrupts
                      using real-time-clock and eti IDs from the
                      rtc_control and eti_control packages.

                    * Package: task_synchronization, arms.  File:
                      task_synchronization.a,
                      task_synchronization_b.a.  Description: New
                      package added for low-overhead, real-time
                      synchronization of "n" tasks.

                    * Packages: real_time_data_monitoring, usermap,
                      dr_interface, harrislib.  Files:  rtm.a,
                      rtm_b.a, rtm_image.a, rtm_value.a, usermap.a,
                      usermap_b.a, dr_interface.a,
                      dr_interface_b.a.  Description:  Real-time
                      debug enhancements were added which
                      significantly improve the package.  Changes
                      include support for intermixed use of
                      multiple programs, a generic read/write
                      subpackage, enhanced list and search
                      capabilities, and a more generalized
                      interface.  The old interfaces are still
                      provided for compatibility, but will be
                      removed in the next release.  Please see the
                      specification of real_time_data_monitoring in
                      harrislib for more information.

                    * Package: generic_math, harrislib.  File:
                      generic_math.a.  Description:  Remove abs
                      function, use standard.abs instead.

                    * Package: interval_timer, harrislib.  File:
                      interval_timer.a.  Description:  Function "+"
                      returns the result, not "l".

                    * Package: math, harrislib.  File: math_b.a.
                      Description:  Replace /lib/libM.a with the
                      new -alM link option.









                                  - 12 -









       Release Notes               6.2                  CX/UX HAPSE


                    * Package: rt_interface, harrislib.  Files:
                      rt_interface.a, rt_interface_b.a.
                      Description:  Change slot parameter to OUT
                      for sched_pgm_add.

                    * Package: address_clauses, standard.  File:
                      address_clauses.a.  Description: New package
                      added with elaboration code for address
                      clauses.

                    * Package: a_strings, standard.  File:
                      a_strings_b.a.  Description: Added check for
                      null string to function to_c.

                    * Package: machine_code, standard.  File:
                      machine_code.a.  Description: Added support
                      for Series-5000 (MC88110) to the package.

                    * Package: unix_prcs, standard.  File:
                      unix_prcs_b.a.  Description: Deleted function
                      cx_system which interfaced to CX/UX system.

               - Optional Products:

                    * Ada bindings to the X Window System
                      (including Xlib, Xt, and Motif) may be
                      purchased for any system running this release
                      of HAPSE.

                    * Harris ID tools may be used for performing
                      cross-referencing over Ada source files.



       9.  Changes From Previous Releases

          o The dr_interface package no longer operates on FORTRAN
            data.

          o The dr_interface package will not be released with the
            next version of HAPSE.  Please use the
            real_time_data_monitoring package instead.

          o The structure of the internal representation of
            previously compiled information (DIANA) has changed in
            this release. Therefore, libraries previously compiled
            with different versions of HAPSE must be cleaned and/or
            removed if this version of HAPSE is to be used in such
            libraries.




                                  - 13 -









       CX/UX HAPSE                 6.2                Release Notes


          o The run-time library names in the lib directory
            changed.  For example, the Basic runtime is now called
            libbart.a, rather than lib88k.rts.a, and the ARMS
            runtime is called libarms.a, rather than libarms.rts.a.
            This should be transparent to the user.



       10.  Known Problems with HAPSE v6.2

       Problems with HAPSE version 6.2 will be individually
       resolved in patches to v6.2, or in subsequent releases.




       11.  Direct Software Support

       Software support is available from a central source.  When
       you need assistance or information about your system, please
       contact the Harris Software Support Center at our toll free
       number (800-245-6453).  Our customers outside the
       continental United States can contact us directly at 305-
       971-6248.  The Software Support Center operates Monday
       through Friday from 8 a.m. to 7 p.m., Eastern Standard time.

       Calling the Software Support Center gives you immediate
       access to a broad range of skilled personnel and guarantees
       you a prompt response from the person most qualified to
       assist you.  If you have a question requiring on-site
       assistance or consultation, the Software Support Center
       staff will arrange for a field analyst to return your call
       and schedule a visit.

       Harris provides a Software Action Request (SAR) form which
       our customers can fill out and submit to their local field
       analyst or the Software Support Center.  This procedure
       ensures that your request is entered into our SAR database
       for follow-up and action.

       To obtain copies of SAR forms, call the Software Support
       Center and request form number CSD1833B.











                                  - 14 -












                                 CONTENTS


        1.  Introduction............................................   1

        2.  Trademark Acknowledgements..............................   2

        3.  Documentation...........................................   2

        4.  Prerequisites...........................................   3
            4.1  Hardware...........................................   4
            4.2  Software...........................................   4

        5.  Cautions................................................   4

        6.  Installation............................................   4

        7.  Fixes in this Release...................................   5

        8.  Features in this Release................................   9

        9.  Changes From Previous Releases..........................  13

       10.  Known Problems with HAPSE v6.2..........................  14

       11.  Direct Software Support.................................  14



























                                  - i -













          _________________________________________________________________

                                       HARRIS
                                  COMPUTER SYSTEMS
          _________________________________________________________________











                                    CX/UX HAPSEO
                                     VERSION 6.2

                                    RELEASE NOTES




                                     0890288-6.2












                                    December 1993






          _________________________________________________________________













                                        return to index
================================================================================








                 CX/UX HAPSEO Runtime Shared Libraries -
                              VERSION 7.1.1
                              RELEASE NOTES

                   Harris Computer Systems Corporation






       1.  Introduction

       The Harris Ada Programming Support Environment (HAPSE)
       Runtime Shared Libraries are a set of compiled and linked
       Ada packages for use with Ada applications which explicitly
       utilize shared libraries.

       These libraries are required to exist in a specific location
       on all Series 4000 and Series 5000 systems that run Ada
       applications that utilize HAPSE Runtime Shared Libraries.

       These libraries are included in the full HAPSE product tape;
       therefore, this product tape is necessary only for Series
       4000 and Series 5000 systems that do not include the full
       HAPSE product.

       These libraries include:

          o HAPSE libraries (standard, harrislib,
            bindings/posix_1003.5, etc.)

          o HAPSE runtime systems (ARMS (TM), basic Ada runtime)

          o HAPSE I/O subsystem libraries (those that support
            text_io, etc.)

          o HAPSE real-time support library






       __________

         - These release notes cover the following products:
           ada_rts





                                   - 1 -









       CX/UX HAPSE Runtime Shared L7.1.1ies           Release Notes


       2.  Trademark Acknowledgements

       HAPSE is a registered trademark of Harris Computer Systems Corporation.
       ARMS is a trademark of Harris Computer Systems Corporation.



       3.  Documentation

       The following documentation is included with this release:

       _______________________________________________________________
      |                  Manual Name                     Pub. Number |
      |______________________________________________|_______________|
      | CX/UX HAPSE Runtime Shared Libraries 7.1.1 RN|  0890449-7.1.1|
      |______________________________________________|_______________|


       Additional copies may be ordered by contacting the Harris
       Software Support Center.  The toll-free number is 1-800-
       245-6453.  For calls outside the continental United States
       the number is 1-305-971-6248.

       The HAPSE Reference Manual (Publication Number 0890288)
       contains related documentation but is not included with this
       product.



       4.  Prerequisites

       Prerequisites for CX/UX HAPSE Runtime Shared Libraries
       Version 7.1.1 are as follows:


       4.1  Hardware

          o Any Series 4000 or Series 5000 system


       4.2  Software

          o CX/UX 7.1 (CX/RT 7.1 or CX/SX 7.1 are acceptable)










                                   - 2 -









       Release Notes           CX/UX1HAPSE Runtime Shared Libraries


       5.  Cautions

       None.



       6.  Installation


       The ada_rts installation tape contains the ada_rts
       libraries.  Please refer to the CX/UX System Administration
       Manual, Chapter 3, for instructions on software
       installation.



       7.  Known Problems

       None.



       8.  Direct Software Support

       Software support is available from a central source.  When
       you need assistance or information about your system, please
       contact the Harris Software Support Center at our toll free
       number (800-245-6453).  Our customers outside the
       continental United States can contact us directly at 305-
       971-6248.  The Software Support Center operates Monday
       through Friday from 8 a.m. to 7 p.m., Eastern Standard time.

       Calling the Software Support Center gives you immediate
       access to a broad range of skilled personnel and guarantees
       you a prompt response from the person most qualified to
       assist you.  If you have a question requiring on-site
       assistance or consultation, the Software Support Center
       staff will arrange for a field analyst to return your call
       and schedule a visit.

       Harris provides a Software Action Request (SAR) form which
       our customers can fill out and submit to their local field
       analyst or the Software Support Center.  This procedure
       ensures that your request is entered into our SAR database
       for follow-up and action.

       To obtain copies of SAR forms, call the Software Support
       Center and request form number CSD1833B.





                                   - 3 -









       CX/UX HAPSE Runtime Shared L7.1.1ies           Release Notes























































                                   - 4 -












                                 CONTENTS


       1.  Introduction..............................................  1

       2.  Trademark Acknowledgements................................  2

       3.  Documentation.............................................  2

       4.  Prerequisites.............................................  2
           4.1  Hardware.............................................  2
           4.2  Software.............................................  2

       5.  Cautions..................................................  3

       6.  Installation..............................................  3

       7.  Known Problems............................................  3

       8.  Direct Software Support...................................  3

































                                  - i -













          _________________________________________________________________

                                       HARRIS
                                  COMPUTER SYSTEMS
          _________________________________________________________________











                        CX/UX HAPSEO Runtime Shared Libraries
                                    VERSION 7.1.1

                                    RELEASE NOTES




                                    0890449-7.1.1












                                    October 1994






          _________________________________________________________________













                                        return to index
================================================================================








                               CX/UX AXI -
                              VERSION 7.1.1
                              RELEASE NOTES

                   Harris Computer Systems Corporation






       1.  Introduction

       The Ada X Interface (AXI)1 is an abstract Ada binding to the
       XO2 Library (Xlib), the X Toolkit (Xt) and Motif3 (Xm).
       Using this interface, applications written in Ada may take
       full advantage of the X library, the X Toolkit, and Motif.

       Installation of this software assumes that the actual C
       libraries to which the AXI product "binds" are present on
       the system.  This product also assumes that the Harris Ada
       Programming Support Environment (HAPSEO)4 is installed.  The
       specifics of these requirements are outlined later in this
       document.

       The documentation contained with this product assumes that
       users are familiar with X and programming with X.  It also
       assumes a working knowledge of the Ada language and the
       HAPSE environment.  The documentation provided with the AXI
       product does not substitute for documentation about X,
       Motif, HAPSE, or the Ada language.

       The AXI documentation contains the specifications that
       comprise the Ada X Interface.  No Ada source modules for the


       __________

         - These release notes cover the following products:  axi

        1. AXI is a trademark of Sente Corporation.

        2. X is a registered trademark of the X Consortium, Inc.

        3. Motif is a trademark of the Open Software Foundation.

        4. HAPSE is a registered trademark of Harris Computer
           Systems Corporation.





                                   - 1 -









       CX/UX AXI                  7.1.1               Release Notes


       package bodies that make up the AXI interface are shipped
       with the AXI product; however, source for the package
       specifications are available.  These source files may be
       useful as a point of reference in addition to the AXI
       manual.
















































                                   - 2 -









       Release Notes              7.1.1                   CX/UX AXI


       2.  Documentation

       The following documentation is included with this release:

                 _______________________________________
                |      Manual Name         Pub. Number |
                |______________________|_______________|
                | AXI Reference Manual |  0890418-000  |
                | AXI 7.1 Release Notes|  0890418-7.1.1|
                |______________________|_______________|


       Additional copies may be ordered by contacting the Harris
       Software Support Center.  The toll-free number is 1-800-
       245-6453.  For calls outside the continental United States
       the number is 1-305-971-6248.




       3.  Prerequisites

       Prerequisites for CX/UX AXI Version 7.1.1 are as follows:


       3.1  Hardware

          o Any Series 4000 or Series 5000 system

          o 32MB physical memory (minimum configuration)

          o Total of 8MB physical memory per AXI user

          o An X Terminal


       3.2  Software

          o CX/UX 7.1 or CX/RT 7.1.

          o HAPSE version 7.1.1 installed.

          o X Window System Version 11, Release 5 (X11R5).










                                   - 3 -









       CX/UX AXI                  7.1.1               Release Notes


       4.  Cautions


       AXI version 7.1.1 supports only systems that are running
       X11R5 and HAPSE v7.1.1.  In order to use the AXI bindings,
       X11R5 must be installed.

       In order to figure out which version of the X Window System
       your system is running, use the xdpyinfo(1) command.

       No Ada package body source files are shipped with the AXI
       product; therefore, it is not possible to debug Ada programs
       through X library calls at the source level.  The a.db or
       optional NightView TM 5 debuggers may still be used to debug
       Ada programs; however, routines within the AXI bindings may
       be debugged only at the assembly level.

       The 7.1.1 release of AXI is identical to the 7.1 and 3.0.1
       releases of AXI, but is compiled for use with HAPSE v7.1.1.
       It is compiled with full DWARF debug information.



       5.  Installation

       The installation tape is in cpio format. It contains the
       source for all AXI package specifications as well as the
       pre-compiled versions of the package specifications and
       bodies.

       To install CX/UX AXI, follow these steps:

          o Sign on as root, or use the "su" program to become
            root.

          o CX/UX AXI should be installed after the HAPSE product
            has been installed.  It is intended that this product
            be installed under the root partition, since its
            default placement is under
            "usr/hapse_88k_7.1.1/bindings", and because the HAPSE
            product is usually read from tape at the root
            directory.


       __________

        5. NightView is a trademark of Harris Computer Systems
           Corporation.





                                   - 4 -









       Release Notes              7.1.1                   CX/UX AXI


          o IT IS REQUIRED THAT AXI BE INSTALLED AT THE SAME
            LOCATION AS THE HAPSE PRODUCT!  If the axi product was
            read from some location other than the root directory,
            then the AXI product must also be read in from that
            same location.

          o Execute "cd /" to position yourself under the root
            directory.

          o Mount the CX/UX AXI installation tape.

          o Issue the command "cpio -iBcvdum < /dev/rmt/0mn" to
            read in the first two files setup and tape_list (Note:
            the installation tape is assumed to be loaded on drive
            0.)

          o Issue the command "./setup" to run a menu-driven
            program that installs the new CX/UX AXI product.

          o The setup program displays a prompt similar to:  "Enter
            the name of the running kernel or  if /unix".
            Press the carriage return key.  The following message
            is displayed:  "Non-generic boot.  Assuming System
            Generation not to be done."

          o The next message displayed is:  "Reel 1 of the product
            tape(s) must be loaded on device /dev/rmt/0mn.  Is this
            the case? (y|n)". Type "y".

          o Expect a pause, then a menu will prompt: "Enter the
            numbers of the actions you would like to perform."
            Select the number corresponding to "All".

          o You will see a message similar to: "Loading object
            files" as files come onto the system under the
            directory usr/hapse_88k_7.1.1/bindings.

          o When the menu returns, select "Exit", and remove the
            tape from the drive.

          o Installation is now complete.












                                   - 5 -









       CX/UX AXI                  7.1.1               Release Notes


       6.  Using the AXI Bindings


       Once installed, the AXI bindings may be used in Ada
       applications.  This section describes the steps required in
       order to compile, link, execute, and debug programs that use
       the AXI bindings.


       6.1  Compilation

       In order to compile applications that reference any part of
       the AXI bindings (e.g., Xlib, Xt, Motif), a user must first
       include the appropriate library pathname(s) on the ADAPATH
       search list in the HAPSE library where the application is to
       be compiled.

       Assuming that the HAPSE installation you are using is
       installed in what we will refer to as $hapse_location, then
       it is necessary to include either one or both of the
       following HAPSE libraries on the ADAPATH:


                 $hapse_location/bindings/xlibxt
                 $hapse_location/bindings/motif


       The first is necessary for all programs that use the Xlib
       and/or Xt interfaces.  If these are used exclusively, then
       this is the only additional library required on a HAPSE
       library's ADAPATH.  If Motif is also to be used, then both
       libraries shown above must be included on the library path.

       The HAPSE library tool a.path recognizes the AXI library
       directory names as keywords (regardless of the value of
       $hapse_location); therefore, it is possible to configure a
       HAPSE library to reference the Xlib and Xt interface by
       typing the following command:

                 a.path -A xlibxt

       If Motif will be used, then the additional command should
       also be issued:

                 a.path -A motif

       Note that for applications that utilize the Motif interface,
       both supplied libraries must be included on the ADAPATH in
       the library where compilations will be performed.  The




                                   - 6 -









       Release Notes              7.1.1                   CX/UX AXI


       Motif-specific library path is not sufficient for Ada Motif
       applications as the Motif interface depends upon both Xlib
       and Xt, making the presence of both supplied-libraries
       necessary.

       Aside from including the appropriate libraries on the
       ADAPATH, nothing special needs to be done in order to
       compile applications that use the AXI interface.  Compile
       source code that contains AXI calls in the same manner as
       you would any other Ada source file by invoking the HAPSE
       compiler, ada.  For example:

                 ada helloworld.a

       compiles the Ada source file helloworld.a which contains a
       simple Motif "helloworld" program that utilizes the AXI
       bindings.  The source for this program is provided in these
       release notes.


       6.2  Linking

       Linking AXI programs does not require any special steps
       other than the presence of the appropriate AXI libraries on
       the ADAPATH of the target HAPSE library.  The AXI interface
       internally links in the C libraries required (e.g.,
       libX11.a, libXt.a, libXm.a) when applications use any AXI-
       specific features that would require these C libraries to be
       linked.  In order to link any AXI program, invoke the a.ld
       prelinker as you would any Ada program.  For example, to
       link the program helloworld, simply issue the command:

                 a.ld helloworld

       Note that the AXI interface only supports X11R5 versions of
       the C libraries and that AXI programs will not link unless
       the R5 versions are installed on your system.  If R4
       versions are installed, attempts to link AXI applications
       will probably result in errors due to undefined externals.

       AXI version 7.1.1 contains Ada shared objects for each
       supplied AXI library.  Therefore, Ada programs that utilize
       any AXI library may choose to link AXI libraries either
       statically or dynamically.  For more information regarding
       Ada shared objects and shared libraries, refer to the 7.1.1
       version of the HAPSE Reference Manual.







                                   - 7 -









       CX/UX AXI                  7.1.1               Release Notes


       6.3  Executing

       Executing a program that utilizes the AXI interface only
       requires that you run the program on an X Terminal with an
       appropriate DISPLAY variable setting.


       6.4  Debugging

       Ada programs that use the AXI interface may be debugged
       using the a.db or optional NightView debuggers just like any
       other Ada programs. However, since no source is supplied for
       the bodies of the packages that make up the AXI interface,
       debugging through any AXI functions and procedures may be
       done only at the assembly level.  Because most AXI calls
       access C libraries, these would have to be debugged at the
       assembly level anyway.

       Both the a.db and NightView debuggers trap most CX/UX
       signals by default, stopping the program being debugged in
       the process.  Because X programs rely heavily on the use of
       SIGIO, neither debugger stops (by default) when the
       application being debugged encounters SIGIO.  This default
       behavior may be modified using the a.db or NightView command
       handle.  All other CX/UX signals are trapped and handled by
       the debugger as documented in the CX/UX HAPSE a.db Debugging
       Manual and CX/UX NightView User's Guide.



       7.  Programming Hints

       7.1  Setting and Getting Widget Resources

       The X Toolkit and Motif widget-creation convenience
       functions expect you to identify widget resources in a
       static array.  This array is passed as an argument to the
       convenience function along with an argument specifying the
       number of resources in the list.

       For example, the often-used Xt function
       CreateManagedWidget() accepts as its arguments: the name of
       the widget to create; the class of the widget; the widget's
       parent; and, as its last two arguments, an array of resource
       pairs and an integer specifying the number of resource pairs
       in the array.

       When using the AXI bindings, Motif and Xt resources may
       easily be constructed by creating argument lists using the




                                   - 8 -









       Release Notes              7.1.1                   CX/UX AXI


       SetArg procedure that is defined in the Xt package.  An
       argument list that is created using this technique may then
       be passed to the Ada version of the convenience function
       along with the number of resources defined in the list.

       The following Ada code fragments demonstrate how you may
       specify a horizontal orientation when creating a simple
       Motif RowColumn widget.  You first creates an argument list
       of widget resources.  Then you pass this list as an argument
       to the CreateManagedWidget function found in the Xt package.
       In this example, only one resource pair is specified in the
       list (to specify the orientation of the widget):


          with Xt;
          with Xm;
          with Xmdef;

                               ...

               arglist              : Xt.arglist(1..1);
               rowcol_w, toplevel   : Xt.Widget;

                               ...

               Xt.SetArg (arglist(1), Xmdef.Norientation, Xt.Argval(Xm.HORIZONTAL));
               rowcol_w := Xt.CreateManagedWidget("Row", Xm.RowColumnWidgetClass,
                                                  toplevel, arglist, 1);
                               ...

       A few things are important to note regarding resource lists:

          o The resource list is of the AXI-defined type Xt.arglist
            and is an array type.  The SetArg procedure may be
            called repetitively to set as many resource pairs in
            the argument list array as necessary.

          o The Motif resource names are defined in the Xmdef
            package and parallel the names of the resources as they
            appear in the C language header files with a similar
            notation.  (In this case Norientation appears as it
            would in C without the "Xt" or "Xm" prefix that the C
            language uses.  For Ada, these resource names MUST BE
            prefixed by "Xmdef.", UNLESS a "use" clause is given
            for this package, as all resource names are defined in
            the Xmdef package).

          o Constants for resource values are defined within either
            the Xt or Xm packages, depending upon whether the value




                                   - 9 -









       CX/UX AXI                  7.1.1               Release Notes


            is an X Toolkit or Motif resource value.  The names for
            these constants also mimic the C language definitions
            in the C header files (Xm.HORIZONTAL in this case
            parallels the C value XmHORIZONTAL).

          o Resource values may either be simple integer values  or
            must be converted to the AXI-defined type Xt.Argval as
            shown in the preceding example.  The SetArg procedure
            is overloaded to accept either type as a resource
            value.


       7.2  Callbacks

       Callback routines are an integral part of X Toolkit
       programming.  To register a callback routine in an Ada
       program using Xt or Motif is quite similar to the C
       language; however, certain programming techniques should be
       used when programming Ada callbacks in order to minimize
       errors.

       A callback may be registered in Ada by using the AddCallback
       procedure found in the Xt package.  Its arguments are
       similar to the C function XtAddCallback().  Be aware when
       programming Ada callbacks that all callback routines must be
       defined in library-level packages.  Because the Harris
       Computer Systems C compiler and the HAPSE Ada compiler use
       similar calling conventions, nothing further needs to be
       done in order to register an Ada callback routine with the
       Xt toolkit.  The requirement that Ada callbacks be defined
       at the library level eliminates confusion introduced by
       uplevel references.

       An example of an Ada callback routine and a code fragment
       demonstrating how to register the callback are shown below:


          --
          -- A simple Ada callback routine in a library-level package body.
          --

          with text_io;
          package body callback is
          --
          procedure call_me (w           : in Xt.Widget;
                             client_data : in Xt.Pointer;
                             call_data   : in Xt.Pointer) is
          begin
             text_io.put_line ("Callback was called");




                                  - 10 -









       Release Notes              7.1.1                   CX/UX AXI


          end call_me;
          --
          end callback;

          --
          -- This callback can then be registered with the X Toolkit
          -- for an AXI application where "some_widget" is defined.
          --

          with callback;
          procedure test is
          --
                               ...

               Xt.AddCallback(some_widget, Xtdef.NactivateCallback,
                              callback.call_me'address, Xt.XtNULL);
                               ...

          --
          end test;


       Full debugging of Ada callbacks is supported when using
       either the a.db or optional NightView symbolic debuggers;
       however, traversing the call stack backwards from a callback
       routine into C code found within the Xt library can be
       debugged only at the assembly level from within the
       debugger.


       7.3  Ada Tasking in AXI Applications

       The AXI bindings support Ada tasking features that make it
       easy to integrate X programming with applications that
       utilize Ada tasking constructs.  Normally, any Ada task (in
       the Basic Ada Run-time System) that blocks to wait for input
       will block all other tasks, including those which are
       runable.  AXI contains an internal tasking implementation
       whereby all X calls that block to wait for input will block
       through an internal event handler mechanism (implemented
       using Ada tasking).  This mechanism allows all other tasks
       in the application to proceed normally without blocking when
       another task is blocked in an X call.

       Without this internal mechanism, all tasks in a given
       application would not be able to execute, even if runable,
       when any other task is blocked in an X call.  The task that
       makes the X call would be blocked in a CX/UX system call
       (waiting for input), prohibiting all other tasks from




                                  - 11 -









       CX/UX AXI                  7.1.1               Release Notes


       executing until the blocked task has exited the system call.
       This kind of behavior is evident in some Ada/X binding
       implementations available from other vendors.  The AXI
       implementation eliminates this problem for programs linked
       with the Basic Ada Run-time.

       In ARMS TM 6 applications, Ada tasks are mapped to CX/UX
       processes.  This implementation does not introduce the
       problems outlined above that exist in the Basic Ada Run-
       time.  It is important to note; however, that only one ARMS
       task in a given application can operate on an open
       connection to the server.  That is, it is not possible to
       establish a connection to the server from one ARMS task and
       attempt to make X calls on the same connection from another
       ARMS task.  Because ARMS tasks are implemented as CX/UX
       processes, only one ARMS task in an application may perform
       X calls, because within the X toolkit, only one connection
       to the server per process is allowed.


       7.4  Optimizations

       The HAPSE compiler supports three levels of optimization.
       The details of these levels of optimization are outlined in
       the HAPSE Reference Manual.  Ada programs that use the AXI
       interface may be fully optimized.

       Additionally, link-time optimizations may be performed to
       enhance execution speed and reduce program size.  The a.ld
       prelinker supports a selective linking capability that may
       reduce the size of a linked Ada program.  Other link-time
       optimizations are available and may be performed to improve
       the execution speed of a program (See a.ld(1)).

       AXI imposes no restrictions on using any of the optimization
       techniques available while compiling and linking AXI
       applications using the HAPSE environment.







       __________

        6. ARMS is a trademark of Harris Computer Systems
           Corporation.





                                  - 12 -









       Release Notes              7.1.1                   CX/UX AXI


       7.5  An Example Motif Program

       The following is the source code for a simple Motif program
       that uses the AXI bindings.  It may be compiled and linked
       using the HAPSE compiler as shown in sections 6.1 and 6.2 of
       these release notes.


          --
          -- Make all appropriate AXI packages visible
          --


          with Xm;
          with Xrm;
          with Xt;
          with Xlib;


          procedure helloworld is
          --
            app_context     : Xt.AppContext;
            toplevel, label : Xt.Widget;
            argv            : Xt.stringlist_ptr;
            options         : Xrm.optiondesclist (1 .. 0);
            fallback        : string (1 .. 0) := "";
            args            : Xt.arglist (0 .. 1);
          --
          begin
          --
            argv := Xlib.getarguments;

            -- Create and initialize the application context

            app_context := Xt.createapplicationcontext;
            Xt.AppInitialize (app_context, "Hello",  options, 0, argv,
                              fallback, args, 0, toplevel);

            -- Create a simple label widget

            label := Xm.CreateLabel (toplevel, "Hello_World", args, 0);
            Xt.ManageChild (label);

            -- Enter the event loop

            Xt.RealizeWidget (toplevel);
            Xt.AppMainLoop (app_context);
          --
          end helloworld;




                                  - 13 -









       CX/UX AXI                  7.1.1               Release Notes


       Other sample programs that demonstrate the usage of the AXI
       bindings are available from Harris Computer Systems
       Corporation. Contact your Harris analyst to obtain a copy of
       the sample programs.  The sample programs that are available
       use the AXI bindings to exercise features in Xlib, Xt and
       Motif.


       7.6  Programming Pitfalls

       Many Xt and Motif references discourage the use of system
       calls such as fork(), exec(), and system() because error
       conditions that may arise (when using these system calls)
       are virtually unrecoverable from an X application's
       standpoint.  If error recovery is not a critical matter from
       the X application's view, then the use of such system calls
       may be appropriate, and often useful.  For non-ARMS
       programs, the use of any such system call is clearly up to
       the programmer; however, for ARMS applications, use of these
       types of system calls is strictly prohibited.  Any ARMS
       program that attempts to use any routine that uses the
       fork() system call will get an error at link time.  The ARMS
       "spawn" services may be used as an alternative in ARMS
       applications that require the ability to spawn other
       processes.

       AXI calls were designed to map as closely as possible to the
       C language library functions to which they "bind".  Ada
       typing restrictions sometimes make this task more difficult,
       and several AXI-defined Ada types have been defined in order
       to make this task a bit easier.  Users should always consult
       the AXI documentation or refer to the package specifications
       in order to choose the most appropriate form of any Xlib,
       Xt, or Motif function that they wish to employ.  Often
       several different Ada interfaces are available (as
       overloaded Ada functions and procedures) for a single C
       function.  If chosen properly, much work can be saved by
       avoiding Ada type conversions when programming with the AXI
       bindings.



       8.  Fixes in This Release


       This is not the initial release of this product, however,
       there are no fixes in this release.  AXI version 7.1.1 is
       identical to AXI versions 7.1 and 3.0.1, compiled
       specifically for use with HAPSE version 7.1.1.




                                  - 14 -









       Release Notes              7.1.1                   CX/UX AXI


       9.  Features in This Release

          o Full Ada support of Xlib, Xt, and Motif operations on
            Harris NightHawk Series 4000 and Series 5000 systems
            running HAPSE.  The AXI product includes:

               o Support for X11, Release 5.

               o Support for Motif version 1.1.

               o Access to functions in the X Extensible Library.

               o Access to functions in the X Miscellaneous
                 Utilities Library.

               o Ada support for the Motif Resource Manager
                 (including UIL-based applications).

               o Support for the STARS interface to the X window
                 system (Xlib only).

               o Support for non-blocking Ada tasking using the
                 Basic Ada Run-time System.

               o A conventional naming scheme which parallels the
                 original C implementation.

               o The supplied libraries are built with full DWARF
                 debug information, so that they may be debugged
                 using the optional NightView debugger.

          o AXI is integrated with the HAPSE environment to take
            advantage of the latest real-time Ada optimization and
            performance features including:

               o The HAPSE Ada compiler's CCG (common code
                 generator) optimizer that performs state-of-the-
                 art optimizations of Ada applications.  Ada X
                 applications may be fully optimized for maximum
                 performance.

               o The HAPSE prelinker's selective linking capability
                 that is capable of removing unused routines that
                 would normally be linked into Ada applications.

               o The flexibility of choosing between the ARMS and
                 Basic Ada Run-time Systems when linking AXI
                 applications.  Each has its own advantages and
                 disadvantages for Ada tasking and memory pool




                                  - 15 -









       CX/UX AXI                  7.1.1               Release Notes


                 configuration.

               o A variety of real-time features and packages
                 provided with the HAPSE programming environment.

               o A complete set of Ada bindings to standard UNIXO7
                 (CX/UX) utilities.  (Note:  The POSIX 1003.5
                 product must be obtained separately from HAPSE.)


       10.  Known Problems with AXI 7.1.1

       Problems with AXI version 7.1.1 included in the following
       list will be addressed in patches to version 7.1.1 or will
       be corrected in later versions of AXI.  Full functionality
       of the STARS binding to the Xt toolkit will provided in a
       future release.

          o The 7.1.1 version of AXI does not support Motif version
            1.2.

          o The STARS Xt implementation is not complete.  The STARS
            bindings should be used only for programming at the
            Xlib level.

          o Ada applications that use the Motif Resource Manager
            may not correctly reference .uid files created by the
            uil compiler.

          o The HAPSE selective linker will not remove dead code
            from C language libraries.  Only dead code from Ada
            libraries is subject to removal from linked
            executables.











       __________

        7. UNIX is a registered trademark licensed exclusively by
           the X/Open Company Ltd.





                                  - 16 -









       Release Notes              7.1.1                   CX/UX AXI


       11.  Direct Software Support

       Software support is available from a central source.  When
       you need assistance or information about your system, please
       contact the Harris Software Support Center at our toll free
       number (800-245-6453).  Our customers outside the
       continental United States can contact us directly at 305-
       971-6248.  The Software Support Center operates Monday
       through Friday from 8 a.m. to 7 p.m., Eastern Standard time.

       Calling the Software Support Center gives you immediate
       access to a broad range of skilled personnel and guarantees
       you a prompt response from the person most qualified to
       assist you.  If you have a question requiring on-site
       assistance or consultation, the Software Support Center
       staff will arrange for a field analyst to return your call
       and schedule a visit.

       Harris provides a Software Action Request (SAR) form which
       our customers can fill out and submit to their local field
       analyst or the Software Support Center.  This procedure
       ensures that your request is entered into our SAR database
       for follow-up and action.

       To obtain copies of SAR forms, call the Software Support
       Center and request form number CSD1833B.



























                                  - 17 -












                                 CONTENTS


        1.  Introduction............................................   1

        2.  Documentation...........................................   3

        3.  Prerequisites...........................................   3
            3.1  Hardware...........................................   3
            3.2  Software...........................................   3

        4.  Cautions................................................   4

        5.  Installation............................................   4

        6.  Using the AXI Bindings..................................   6
            6.1  Compilation........................................   6
            6.2  Linking............................................   7
            6.3  Executing..........................................   8
            6.4  Debugging..........................................   8

        7.  Programming Hints.......................................   8
            7.1  Setting and Getting Widget Resources...............   8
            7.2  Callbacks..........................................  10
            7.3  Ada Tasking in AXI Applications....................  11
            7.4  Optimizations......................................  12
            7.5  An Example Motif Program...........................  13
            7.6  Programming Pitfalls...............................  14

        8.  Fixes in This Release...................................  14

        9.  Features in This Release................................  15

       10.  Known Problems with AXI 7.1.1...........................  16

       11.  Direct Software Support.................................  17

















                                  - i -













          _________________________________________________________________

                                       HARRIS
                                  COMPUTER SYSTEMS
          _________________________________________________________________











                                      CX/UX AXI
                                    VERSION 7.1.1

                                    RELEASE NOTES




                                    0890418-7.1.1












                                    October 1994






          _________________________________________________________________













                                        return to index
================================================================================








                               CX/UX AXI -
                               VERSION 6.2
                              RELEASE NOTES

                     Harris Computer Systems Division






       1.  Introduction

       The Ada X Interface (AXI)1 is an abstract Ada binding to the
       X2 Library (Xlib), the X Toolkit (Xt) and Motif3 (Xm).
       Using this interface, applications written in Ada may take
       full advantage of the X library, the X Toolkit, and Motif.

       Installation of this software assumes that the actual C
       libraries to which the AXI product "binds" is present on the
       system.  This product also assumes that the Harris Ada
       Programming Support Environment (HAPSE)4 is installed.  The
       specifics of these requirements are outlined later in this
       document.

       The documentation contained with this product assumes that
       users are familiar with X and programming with X.  It also
       assumes a working knowledge of the Ada language and the
       HAPSE environment.  The documentation provided with the AXI
       product does not substitute documentation about X, Motif,
       HAPSE, or the Ada language.


       __________

         - These release notes cover the following products:
           axi_88k

        1. AXI is a trademark of Advanced Technology Center.

        2. X is a registered trademark of the Massachusetts
           Institute of Technology.

        3. Motif is a trademark of the Open Software Foundation,
           Inc.

        4. HAPSE is a registered trademark of Harris Computer
           Systems Division.





                                   - 1 -









       CX/UX AXI                   6.2                Release Notes


       The AXI documentation contains the specifications that
       comprise the Ada X Interface.  No Ada source modules for the
       package bodies that make up the AXI interface are shipped
       with the AXI product; however, source for the package
       specifications are available.  These source files may be
       useful as a point of reference in addition to the AXI
       manual.














































                                   - 2 -









       Release Notes               6.2                    CX/UX AXI


       2.  Documentation

       The following documentation is included with this release:

                  _____________________________________
                 |      Manual Name        Pub. Number|
                 |______________________|_____________|
                 | AXI Reference Manual |  0890418-000|
                 | AXI 6.2 Release Notes|  0890418-6.2|
                 |______________________|_____________|


       Additional copies may be ordered by contacting the Harris
       Software Support Center.  The toll-free number is 1-800-
       245-6453.  For calls outside the continental United States
       the number is 1-305-971-6248.




       3.  Prerequisites

       Prerequisites for CX/UX AXI Version 6.2 are as follows:


       3.1  Hardware

          o Any Harris Series-4000 or Series-5000 system

          o 32MB physical memory (minimum configuration)

          o Total of 8MB physical memory per AXI user

          o An X Terminal


       3.2  Software

          o CX/UX 6.2 or CX/RT 6.2.

          o HAPSE version 6.2 installed.

          o X Window System Version 11, Release 5 (X11R5).










                                   - 3 -









       CX/UX AXI                   6.2                Release Notes


       4.  Cautions


       AXI version 6.2 supports only systems that are running X11R5
       and HAPSE v6.2.  Any system running CX/UX 6.2 or higher
       should be running X11R5; however, it may be possible that a
       system running CX/UX 6.2 is only running X11R4.  In order to
       use the AXI bindings, X11R5 must be installed.

       In order to figure out which version of the X Window System
       your system is running, use the xdpyinfo(1) command.

       No Ada package body source files are shipped with the AXI
       product; therefore, it is not possible to debug Ada programs
       through X library calls at the source level.  The a.db
       debugger may still be used to debug Ada programs; however,
       stepping into any calls within the AXI bindings may be
       debugged only at the assembly level.

       The 6.2 release of AXI is identical to the 3.0.1 release of
       AXI, but is compiled for use with HAPSE v6.2.



       5.  Installation

       The installation tape is in cpio format. It contains the
       source for all AXI package specifications as well as the
       pre-compiled versions of the package specifications and
       bodies.

       To install CX/UX AXI, follow these steps:

          o Sign on as root, or use the "su" program to become
            root.

          o CX/UX AXI should be installed after the HAPSE product
            has been installed.  It is intended that this product
            be installed under the root partition, since its
            default placement is under
            "usr/hapse_88k_6.2/bindings", and because the HAPSE
            product is usually read from tape at the root
            directory.

          o IT IS REQUIRED THAT AXI BE INSTALLED FROM THE SAME
            LOCATION AS THE HAPSE PRODUCT!.  If the hapse_88k6.2
            product was read from some location other than the root
            directory, then the AXI product must also be read in
            from that same location.




                                   - 4 -









       Release Notes               6.2                    CX/UX AXI


          o Execute "cd /" to position yourself under the root
            directory.

          o Mount the CX/UX AXI installation tape.

          o Issue the command "cpio -iBcvdum < /dev/rmt/0mn" to
            read in the first two files setup and tape_list (Note:
            the installation tape is assumed to be loaded on drive
            0.)

          o Issue the command "./setup" to run a menu-driven
            program that installs the new CX/UX AXI product.

          o The setup program displays a prompt similar to:  "Enter
            the name of the running kernel or  if /unix".
            Press the carriage return key.  The following message
            is displayed:  "Non-generic boot.  Assuming System
            Generation not to be done."

          o The next message displayed is:  "Reel 1 of the product
            tape(s) must be loaded on device /dev/rmt/0mn.  Is this
            the case? (y|n)". Type "y".

          o Expect a pause, then a menu will prompt: "Enter the
            numbers of the actions you would like to perform."
            Select the number corresponding to "All".

          o You will see a message similar to: "Loading object
            files" as files come onto the system under the
            directories usr/hapse_88k_6.2/bindings.

          o When the menu returns, select "Exit", and remove the
            tape from the drive.

          o Installation is now complete.



       6.  Using the AXI Bindings


       Once installed, the AXI bindings may be used in Ada
       applications.  This section describes the steps required in
       order to compile, link, execute, and debug programs that use
       the AXI bindings.








                                   - 5 -









       CX/UX AXI                   6.2                Release Notes


       6.1  Compilation

       In order to compile applications that reference any part of
       the AXI bindings (e.g., Xlib, Xt, Motif), a user must first
       include the appropriate library pathname(s) on the ADAPATH
       search list in the HAPSE library where the application is to
       be compiled.

       Assuming that the HAPSE installation we are using is
       installed in what we will refer to as $hapse_location, then
       it is necessary to include either one or both of the
       following HAPSE libraries on the ADAPATH:


                 $hapse_location/bindings/xlibxt
                 $hapse_location/bindings/motif


       The first is necessary for all programs that use the Xlib
       and/or Xt interfaces.  If these are used exclusively, then
       this is the only additional library required on a HAPSE
       library's ADAPATH.  If Motif is also to be used, then both
       libraries shown above must be included on the library path.

       The HAPSE library tool a.path recognizes the AXI library
       directory names as keywords (regardless of the value of
       $hapse_location); therefore, it is possible to configure a
       HAPSE library to reference the Xlib and Xt interface by
       typing the following command:

                 a.path -A xlibxt

       If Motif will be used, then the additional command should
       also be issued:

                 a.path -A motif

       Note that for applications that utilize the Motif interface,
       both supplied libraries must be included on the ADAPATH in
       the library where compilations will be performed.  The
       Motif-specific library path is not sufficient for Ada Motif
       applications as the Motif interface depends upon both Xlib
       and Xt, making the presence of both supplied-libraries
       necessary.

       Aside from including the appropriate library(ies) on the
       ADAPATH, nothing special needs to be done in order to
       compile applications that use the AXI interface.  A user can
       compile source code that contains AXI calls in the same




                                   - 6 -









       Release Notes               6.2                    CX/UX AXI


       manner as he would any other Ada source file by invoking the
       HAPSE compiler, ada.  For example:

                 ada helloworld.a

       compiles the Ada source file helloworld.a which contains a
       simple Motif "helloworld" program that utilizes the AXI
       bindings.  The source for this program is provided in these
       release notes.


       6.2  Linking

       Linking AXI programs does not require any special steps
       other than the presence of the appropriate AXI library(ies)
       on the ADAPATH of the target HAPSE library.  The AXI
       interface internally links in the C libraries required
       (e.g., libX11.a, libXt.a, libXm.a) when applications use any
       AXI-specific features that would require these C libraries
       to be linked.  In order to link any AXI program, a user must
       only invoke the a.ld prelinker as he would any Ada program.
       For example, to link the program helloworld, simply issue
       the command:

                 a.ld helloworld

       Note that the AXI interface only supports X11R5 versions of
       the C libraries and that AXI programs will not link unless
       the R5 versions are installed on your system.  If R4
       versions are installed, attempts to link AXI applications
       will most likely result in errors due to undefined
       externals.


       6.3  Executing

       Executing a program that utilizes the AXI interface only
       requires that the user will be running the program on an X
       terminal with an appropriate DISPLAY variable setting.


       6.4  Debugging

       Ada programs that use the AXI interface may be debugged
       using the a.db debugger just like any other Ada program.
       However, since no source is supplied for the bodies of the
       packages that make up the AXI interface, debugging through
       any AXI functions and procedures may be done only at the
       assembly level.  Because most AXI calls access C libraries,




                                   - 7 -









       CX/UX AXI                   6.2                Release Notes


       these would have to be debugged at the assembly level
       anyway.

       The a.db debugger traps most CX/UX signals by default,
       stopping the program being debugged in the process.  Because
       X programs rely heavily on the use of SIGIO, the debugger
       does not stop (by default) when the application being
       debugged encounters SIGIO.  This default behavior may be
       modified using the a.db command handle.  All other CX/UX
       signals are trapped and handled by the debugger as
       documented in the CX/UX HAPSE Reference Manual.



       7.  Programming Hints

       7.1  Setting and Getting Widget Resources

       The X Toolkit and Motif widget-creation convenience
       functions expect users to identify widget resources in a
       static array.  This array is passed as an argument to the
       convenience function along with an argument specifying the
       number of resources in the list.

       For example, the often-used Xt function
       CreateManagedWidget() accepts as its arguments, the name of
       the widget to create, the class of the widget, the widget's
       parent, and, as its last two arguments, the function accepts
       an array of resource pairs and an integer specifying the
       number of resource pairs in the array.

       When using the AXI bindings, Motif and Xt resources may
       easily be constructed by creating argument lists using the
       SetArg procedure that is defined in the Xt package.  An
       argument list that is created using this technique may then
       be passed onto the Ada version of the convenience function
       along with the number of resources defined in the list.

       The following Ada code fragments demonstrate how a user may
       specify a horizontal orientation when creating a simple
       Motif RowColumn widget.  The user first creates an argument
       list of widget resources.  Then the user passes this list as
       an argument to the CreateManagedWidget function found in the
       Xt package.  In this example, only one resource pair is
       specified in the list (to specify the orientation of the
       widget):


          with Xt;




                                   - 8 -









       Release Notes               6.2                    CX/UX AXI


          with Xm;
          with Xmdef;

                               ...

               arglist              : Xt.arglist(1..1);
               rowcol_w, toplevel   : Xt.Widget;

                               ...

               Xt.SetArg (arglist(1), Xmdef.Norientation, Xt.Argval(Xm.HORIZONTAL));
               rowcol_w := Xt.CreateManagedWidget("Row", Xm.RowColumnWidgetClass,
                                                  toplevel, arglist, 1);
                               ...

       A few things are important to note regarding resource lists:

          o The resource list is of the AXI-defined type Xt.arglist
            and is an array type.  The SetArg procedure may be
            called repetitively to set as many resource pairs in
            the argument list array as necessary.

          o The Motif resource names are defined in the Xmdef
            package and parallel the names of the resources as they
            appear in the C language header files with a similar
            notation.  (In this case Norientation appears as it
            would in C without the "Xt" or "Xm" prefix that the C
            language uses.  For Ada, these resource names MUST BE
            prefixed by "Xmdef.", UNLESS a "use" clause is given
            for this package, as all resource names are defined in
            the Xmdef package).

          o Constants for resource values are defined within either
            the Xt or Xm packages, depending upon whether the value
            is an X Toolkit or Motif resource value.  The names for
            these constants also mimic the C language definitions
            in the C header files (Xm.HORIZONTAL in this case
            parallels the C value XmHORIZONTAL).

          o Resource values may either be simple integer values  or
            must be converted to the AXI-defined type Xt.Argval as
            shown in the example above.  The SetArg procedure is
            overloaded to accept either type as a resource value.










                                   - 9 -









       CX/UX AXI                   6.2                Release Notes


       7.2  Callbacks

       Callback routines are an integral part of X Toolkit
       programming.  To register a callback routine in an Ada
       program using Xt or Motif is quite similar to the C
       language; however, certain programming techniques should be
       used when programming Ada callbacks in order to minimize
       errors.

       A callback may be registered in Ada by using the AddCallback
       procedure found in the Xt package.  Its arguments are
       similar to the C function XtAddCallback().  What users
       should be most aware of when programming Ada callbacks is
       that all callback routines must be defined in library-level
       packages.  Because the Harris C compiler and the HAPSE Ada
       compiler use similar calling conventions, nothing further
       needs to be done in order to register an Ada callback
       routine with the Xt toolkit.  The requirement that Ada
       callbacks be defined at the library level eliminates
       confusion introduced by uplevel references.

       An example of an Ada callback routine and a code fragment
       demonstrating how to register the callback are shown below:


          --
          -- A simple Ada callback routine in a library-level package body.
          --

          with text_io;
          package body callback is
          --
          procedure call_me (w           : in Xt.Widget;
                             client_data : in Xt.Pointer;
                             call_data   : in Xt.Pointer) is
          begin
             text_io.put_line ("Callback was called");
          end call_me;
          --
          end callback;

          --
          -- This callback can then be registered with the X Toolkit
          -- for an AXI application where "some_widget" is defined.
          --

          with callback;
          procedure test is
          --




                                  - 10 -









       Release Notes               6.2                    CX/UX AXI


                               ...

               Xt.AddCallback(some_widget, Xtdef.NactivateCallback,
                              callback.call_me'address, Xt.XtNULL);
                               ...

          --
          end test;


       Full debugging of Ada callbacks is supported when using the
       a.db symbolic debugger; however, traversing the call stack
       backwards from a callback routine into C code found within
       the Xt library can be debugged only at the assembly level
       from within the debugger.


       7.3  Ada Tasking in AXI Applications

       The AXI bindings support Ada tasking features that make it
       easy to integrate X programming with applications that
       utilize Ada tasking constructs.  Normally, any Ada task (in
       the Basic Ada Runtime System) that blocks to wait for input
       will block all other tasks, including those which are
       runable.  AXI contains an internal tasking implementation
       whereby all X calls that block to wait for input will block
       through an internal event handler mechanism (implemented
       using Ada tasking).  This mechanism allows all other tasks
       in the application to proceed normally without blocking when
       another task is blocked in an X call.

       Without this internal mechanism, all tasks in a given
       application would not be able to execute, even if runable,
       when any other task is blocked in an X call.  The task that
       makes the X call would be blocked in a CX/UX system call
       (waiting for input), prohibiting all other tasks from
       executing until the blocked task has exited the system call.
       This kind of behavior is evident in some Ada/X binding
       implementations available from other vendors.  The AXI
       implementation eliminates this problem for programs linked
       with the Basic Ada Runtime.

       In ARMS applications, Ada tasks are mapped to CX/UX
       processes.  This implementation does not introduce the
       problems outlined above that exist in the Basic Ada Runtime.
       It is important to note; however, that only one ARMS task in
       a given application can operate on an open connection to the
       server.  That is, it is not possible to establish a
       connection to the server from one ARMS task and attempt to




                                  - 11 -









       CX/UX AXI                   6.2                Release Notes


       make X calls on the same connection from another ARMS task.
       Because ARMS tasks are implemented as CX/UX processes, only
       one ARMS task in an application may perform X calls, because
       within the X toolkit, only one connection to the server per
       process is allowed.


       7.4  Optimizations

       The HAPSE compiler supports three levels of optimization.
       The details of these levels of optimization are outlined in
       the CX/UX HAPSE Reference Manual.  Ada programs that use the
       AXI interface may be fully optimized.

       Additionally, link-time optimizations may be performed to
       enhance execution speed and reduce program size.  The a.ld
       prelinker supports a selective linking capability that may
       reduce the size of a linked Ada program.  Other link-time
       optimizations are available and may be performed to improve
       the execution speed of a program (See a.ld(1)).

       AXI imposes no restrictions when using any of the
       optimization techniques available when compiling and linking
       AXI applications using the HAPSE environment.


       7.5  An Example Motif Program

       The following is the source code for a simple Motif program
       that uses the AXI bindings.  It may be compiled and linked
       using the HAPSE compiler as shown in sections 6.1 and 6.2 of
       these release notes.


          --
          -- Make all appropriate AXI packages visible
          --


          with Xm;
          with Xrm;
          with Xt;
          with Xlib;


          procedure helloworld is
          --
            app_context     : Xt.AppContext;
            toplevel, label : Xt.Widget;




                                  - 12 -









       Release Notes               6.2                    CX/UX AXI


            argv            : Xt.stringlist_ptr;
            options         : Xrm.optiondesclist (1 .. 0);
            fallback        : string (1 .. 0) := "";
            args            : Xt.arglist (0 .. 1);
          --
          begin
          --
            argv := Xlib.getarguments;

            -- Create and initialize the application context

            app_context := Xt.createapplicationcontext;
            Xt.AppInitialize (app_context, "Hello",  options, 0, argv,
                              fallback, args, 0, toplevel);

            -- Create a simple label widget

            label := Xm.CreateLabel (toplevel, "Hello_World", args, 0);
            Xt.ManageChild (label);

            -- Enter the event loop

            Xt.RealizeWidget (toplevel);
            Xt.AppMainLoop (app_context);
          --
          end helloworld;


       Other sample programs that demonstrate the usage of the AXI
       bindings are available from Harris. Contact your Harris
       analyst to obtain a copy of the sample programs.  The sample
       programs that are available use the AXI bindings to exercise
       features in Xlib, Xt and Motif.


       7.6  Programming Pitfalls

       Many Xt and Motif references discourage the use of system
       calls such as fork(), exec(), and system() because error
       conditions that may arise (when using these system calls)
       are virtually unrecoverable from an X application's
       standpoint.  If error recovery is not a critical matter from
       the X application's view, then the use of such system calls
       may be appropriate, and often useful.  For non-ARMS
       programs, the use of any such system call is clearly up to
       the programmer; however, for ARMS applications, use of these
       types of system calls is strictly prohibited.  Any ARMS
       program which attempts to use any routine that uses the
       fork() system call will get an error at link time.  The ARMS




                                  - 13 -









       CX/UX AXI                   6.2                Release Notes


       "spawn" services may be used as an alternative in ARMS
       applications which require the ability to spawn other
       processes.

       AXI calls were designed to map as closely as possible to the
       C language library functions to which they "bind".  Ada
       typing restrictions sometimes make this task more difficult,
       and several AXI-defined Ada types have been defined in order
       to make this task a bit easier.  Users should always consult
       the AXI documentation or refer to the package specifications
       in order to choose the most appropriate form of any Xlib,
       Xt, or Motif function that they wish to employ.  Often
       several different Ada interfaces are available (as
       overloaded Ada functions and procedures) for a single C
       function.  If chosen properly, much work can be saved by
       avoiding Ada type conversions when programming with the AXI
       bindings.



       8.  Fixes in this Release


       This is not the initial release of this product, however,
       there are no fixes in this release.  AXI version 6.2 is
       identical to AXI version 3.0.1, compiled specifically for
       use with HAPSE version 6.2.



       9.  Features in this Release

          o Full Ada support of Xlib, Xt, and Motif operations on
            Harris NightHawk Series 4000 and Series 5000 systems
            running HAPSE.  The AXI product includes:

               o Support for X11 Release 5.

               o Support for Motif version 1.1.

               o Access to functions in the X Extensible Library.

               o Access to functions in the X Miscellaneous
                 Utilities Library.

               o Ada support for the Motif Resource Manager
                 (including UIL-based applications).






                                  - 14 -









       Release Notes               6.2                    CX/UX AXI


               o Support for the STARS interface to the X window
                 system (Xlib only)

               o Support for non-blocking Ada tasking using the
                 Basic Ada Runtime System.

               o A conventional naming scheme which parallels the
                 original C implementation.

          o AXI is integrated with the HAPSE environment to take
            advantage of the latest real-time Ada optimization and
            performance features including:

               o The HAPSE Ada compiler's CCG (common code
                 generator) optimizer which performs state-of-the-
                 art optimizations of Ada applications.  Ada X
                 applications may be fully optimized for maximum
                 performance.

               o The HAPSE prelinker's selective linking capability
                 which is capable of removing unused routines that
                 would normally be linked into Ada applications.

               o The flexibility of choosing between the ARMS and
                 Basic Ada Runtime Systems when linking AXI
                 applications.  Each has its own advantages and
                 disadvantages for Ada tasking and memory pool
                 configuration.

               o A variety of real-time features and packages
                 provided with the HAPSE programming environment.

               o A complete set of Ada bindings to standard UNIX5
                 (CX/UX) utilities.  (Note:  The POSIX 1003.5
                 product must be obtained separately from HAPSE).









       __________

        5. UNIX is a registered trademark of UNIX System
           Laboratories, Inc.





                                  - 15 -









       CX/UX AXI                   6.2                Release Notes


       10.  Known Problems with AXI 6.2

       Problems with AXI version 6.2 included in the following list
       will be addressed in patches to version 6.2 or will be
       corrected in later versions of AXI.  Full functionality of
       the STARS binding to the Xt toolkit will provided in a
       future release.

          o The 6.2 version of AXI does not support Motif version
            1.2.

          o The STARS Xt implementation is not complete.  The STARS
            bindings should only be used for programming at the
            Xlib level.

          o Ada applications that use the Motif Resource Manager
            may not correctly reference .uid files created by the
            uil compiler.

          o The HAPSE selective linker will not remove dead code
            from C language libraries.  Only dead code from Ada
            libraries is subject to removal from linked
            executables.




       11.  Direct Software Support

       Software support is available from a central source.  When
       you need assistance or information about your system, please
       contact the Harris Software Support Center at our toll free
       number (800-245-6453).  Our customers outside the
       continental United States can contact us directly at 305-
       971-6248.  The Software Support Center operates Monday
       through Friday from 8 a.m. to 7 p.m., Eastern Standard time.

       Calling the Software Support Center gives you immediate
       access to a broad range of skilled personnel and guarantees
       you a prompt response from the person most qualified to
       assist you.  If you have a question requiring on-site
       assistance or consultation, the Software Support Center
       staff will arrange for a field analyst to return your call
       and schedule a visit.

       Harris provides a Software Action Request (SAR) form which
       our customers can fill out and submit to their local field
       analyst or the Software Support Center.  This procedure
       ensures that your request is entered into our SAR database




                                  - 16 -









       Release Notes               6.2                    CX/UX AXI


       for follow-up and action.

       To obtain copies of SAR forms, call the Software Support
       Center and request form number CSD1833B.

















































                                  - 17 -












                                 CONTENTS


        1.  Introduction............................................   1

        2.  Documentation...........................................   3

        3.  Prerequisites...........................................   3
            3.1  Hardware...........................................   3
            3.2  Software...........................................   3

        4.  Cautions................................................   4

        5.  Installation............................................   4

        6.  Using the AXI Bindings..................................   5
            6.1  Compilation........................................   6
            6.2  Linking............................................   7
            6.3  Executing..........................................   7
            6.4  Debugging..........................................   7

        7.  Programming Hints.......................................   8
            7.1  Setting and Getting Widget Resources...............   8
            7.2  Callbacks..........................................  10
            7.3  Ada Tasking in AXI Applications....................  11
            7.4  Optimizations......................................  12
            7.5  An Example Motif Program...........................  12
            7.6  Programming Pitfalls...............................  13

        8.  Fixes in this Release...................................  14

        9.  Features in this Release................................  14

       10.  Known Problems with AXI 6.2.............................  16

       11.  Direct Software Support.................................  16

















                                  - i -













          _________________________________________________________________

                                       HARRIS
                                  COMPUTER SYSTEMS
          _________________________________________________________________











                                      CX/UX AXI
                                     VERSION 6.2

                                    RELEASE NOTES




                                     0890418-6.2












                                    December 1993






          _________________________________________________________________













                                        return to index
================================================================================








                               CX/UX HC C -
                              VERSION 6.3.1
                              RELEASE NOTES

                     Harris Computer Systems Division






       1.  Introduction

       CX/UX hc C 6.3.1 is the Harris ANSI C compiler for Series
       4000 and Series 5000 systems.  The hc compiler accepts the C
       language as defined by Kernighan and Ritchie, nearly all of
       the traditional UNIX extensions to this definition, and all
       of the features of the ANSI C standard.  The hc compiler is
       also known as cc.



       2.  Documentation

       The following documentation is included with this release:

            _________________________________________________
           |           Manual Name              Pub. Number |
           |________________________________|_______________|
           | CX/UX Harris C Reference Manual|  0891019-040  |
           | CX/UX hc C Release Notes       |  0891019-6.3.1|
           | C  A Reference Manual          |  0890378-000  |
           |________________________________|_______________|


       Additional copies may be ordered by contacting the Harris
       Support Center.  The toll-free number is 1-800-245-6453.
       For calls outside the continental United States the number
       is 1-305-971-6248.






       __________

         - These release notes cover the following products:  hc





                                   - 1 -









       CX/UX hc C                 6.3.1               Release Notes


       3.  Prerequisites

       Prerequisites for CX/UX hc Version 6.3.1 are as follows:


       3.1  Hardware

          o Any Harris Night Hawk Series 4000 or Series 5000 system


       3.2  Software

          o CX/UX 6.2



       4.  Installation

       Please refer to the CX/UX System Administration Manual,
       Chapter 3, for instructions on software installation.



       5.  Cautions

          o hc can generate code that runs on both the Series 4000
            and the Series 5000 Harris Night Hawk computers.  The
            88110 processor used in the Series 5000 can reorder
            loads and stores of different memory locations; use the
            -Qsync_volatile compiler option when compiling
            applications that will be executed on the Series 5000
            and that might depend on the ordering of loads from and
            stores to memory.  One example of such an application
            is a device driver for which a load will change the
            state of the device.

          o The extent to which the hc compiler accepts the C
            language as defined by the ANSI C standard as well as
            defined by the first edition of Kernighan and Ritchie
            is controlled by command line options.  See the
            discussion of compilation modes in hc(1) for an
            explanation of how hc will treat specific C language
            features.

          o Certain incorrect C constructs (as defined by Kernighan
            and Ritchie), which are accepted by pcc-based
            compilers, may not be accepted by hc.  Correctly
            written programs will compile without problems.





                                   - 2 -









       Release Notes              6.3.1                  CX/UX hc C


          o Users are encouraged to retain the source for their
            applications.  Major releases may provide new object
            file formats, which will require the recompilation of
            programs.



       6.  Changes from Previous Releases

       The following changes from past releases of hc should be
       noted.


       6.1  88110 Code Generation

       hc provides enhanced code generation that takes advantage of
       features unique to the 88110 microprocessor in Night Hawk
       Series 5000 systems.  88110 code generation is selectable
       from the hc command line via the -Qtarget command line
       switch.  The 6.3.1 compiler supports three settings for the
       -Qtarget switch:

       -Qtarget=M88100, -Qtarget=M88110, and -Qtarget=M88110compat.

       Code generated with -Qtarget=M88100 is optimized for the
       Series 4000.  Code generated with -Qtarget=M88110 takes
       advantage of features unique to the 88110 microprocessor in
       Series 5000 systems and will not execute on Series 4000
       systems.  Also, in this mode, a string library specially
       optimized for the Series 5000 is linked into the executable.
       -Qtarget=M88110compat specifies that code be generated that
       is compatible with the Series 4000, but instructions are
       scheduled for optimal execution on the Series 5000.
       Executables generated in this mode will execute on either
       the Series 4000 or the Series 5000.

       A preprocessor macro is defined according to the compilation
       target.  M88100 is the default target for compilation on a
       Series 4000.  M88110 is the default target for compilation
       on a Series 5000.

       ____________________________________________________________
      |    Target   |     Macro    |  Compile|  Schedule|  String |
      |             |              |    for  |    for   |  Library|
      |_____________|______________|_________|__________|_________|
      | M88100      |  M88100      |  88100  |  88100   |  88100  |
      | M88110      |  M88110      |  88110  |  88110   |  88110  |
      |_____________|______________|_________|__________|_________|





                                   - 3 -









       CX/UX hc C                 6.3.1               Release Notes


      | M88110compat|  M88110COMPAT|  88100  |  88110   |  88100  |
      |_____________|______________|_________|__________|_________|



       6.2  Compiler Pass Name Changes

       There are now copies of the executables /lib/cxc and
       /lib/cxc-reorder for each of the supported architectures.
       Their names have been changed to reflect their principal
       target architectures.  The hc driver selects the correct
       compiler and scheduler passes based on the setting of the
       -Qtarget command-line option.  /lib/cxc-100 is the compiler
       pass for M88100 and M88110compat compilations.  /lib/cxc-110
       is the compiler pass for M88110 compilations.  /lib/cxc-
       reorder-100 is the instruction scheduler pass for M88100
       compilations.  /lib/cxc-reorder-110 is the instruction
       scheduler for M88110 and M88110compat compilations.


       6.3  Preprocessor Changes

       In past releases, the hc compiler used an internal
       preprocessor rather than invoking a separate preprocessing
       pass with cpp(1).  The current release of hc always makes
       use of a separate preprocessing pass either with cpp(1) or
       with the new ANSI C preprocessor.  This introduces the
       following incompatibilities with preprocessing extensions
       supported by the Harris hc compiler bundled with versions of
       CX/UX prior to version 6.0:

          o The sizeof() operator may no longer be used in
            conditional compilation expressions (#if expressions).
            This practice was never considered to be portable C.

          o The #savetable, #loadtable, #pragma push, #pragma pop,
            and #pragma optimization directives are no longer
            supported.

          o The #array_expand Harris-specific directive is no
            longer supported.

          o The compiler now treats the arguments to #pragma as a
            sequence of C tokens. In the past, these were treated
            as a character string and divided into tokens according
            to rules that were unique to each #pragma directive.
            This change should make the behavior of pragmas more
            consistent.  For example, all pragmas that accept
            numeric arguments will now accept C hex and octal




                                   - 4 -









       Release Notes              6.3.1                  CX/UX hc C


            constants as well as decimal constants.

          o #pragma must be used with all Harris-specific
            directives when the compiler is run in ANSI C
            conforming mode (-Xc option).

            Note that the Harris #error directive (controls the
            printing of some error messages) has a name conflict
            with the ANSI C #error directive (causes the
            compilation to terminate while printing the user-
            specified diagnostic message); #pragma error should
            always be used when the Harris version is desired.

       The use of the external preprocessors has fixed the
       following problems with the past release of hc.

          o Macros are now correctly expanded in #include
            directives.

          o Certain cases of token-splicing macros that failed with
            the internal preprocessor now work in Old mode (-Xo
            option).  However, they typically do not work in the
            ANSI C compilation modes (-Xt, -Xa and -Xc options).


       6.4  Listing Option Changes

       The format of hc compiler-generated listings (-QP option)
       has changed.  Page headers have a different layout than in
       past releases.  The use of the external preprocessors forces
       some changes in the presentation of macro (-QPX) and include
       (-QPa) file expansions (minor variations will be noticed
       depending on the compilation mode).  The following #pragma
       listing-control directives are no longer supported:
       expandinclude, expandmacro, ident, linelength, list, page,
       search, title.


       6.5  Problems Fixed with This Release

       The following errors in previous releases of hc have been
       corrected:

          o hc Version 6.3.1 can compile larger programs than
            previous versions.

          o Using the -i option could cause an incorrect source
            file name to be inserted into the debugging information
            in Old (traditional) mode.




                                   - 5 -









       CX/UX hc C                 6.3.1               Release Notes


          o The -P option would cancel out the -g option.  Now the
            combination of -P and -g produces a preprocessed file
            with line-number information included.

          o If a single compilation included too many distinct
            include files, the compiler would abort with a core
            dump.




       7.  Future Considerations

       As part of Harris' commitment to standards, it can be
       expected that in a future release of hc the default
       compilation mode will change from Old (traditional) mode to
       ANSI C mode.  A final decision has not been made as to when
       this might occur, but customers should plan for the
       conversion of their source for ANSI-C compatibility.




       8.  Direct Software Support

       Software support is available from a central source.  When
       you need assistance or information about your system, please
       contact the Harris Software Support Center at our toll free
       number (800-245-6453).  Our customers outside the
       continental United States can contact us directly at 305-
       971-6248.  The Software Support Center operates Monday
       through Friday from 8 a.m. to 7 p.m., Eastern Standard time.

       Calling the Software Support Center gives you immediate
       access to a broad range of skilled personnel and guarantees
       you a prompt response from the person most qualified to
       assist you.  If you have a question requiring on-site
       assistance or consultation, the Software Support Center
       staff will arrange for a field analyst to return your call
       and schedule a visit.

       Harris provides a Software Action Request (SAR) form which
       our customers can fill out and submit to their local field
       analyst or the Software Support Center.  This procedure
       ensures that your request is entered into our SAR database
       for follow-up and action.

       To obtain copies of SAR forms, call the Software Support
       Center and request form number CSD1833B.




                                   - 6 -









       Release Notes              6.3.1                  CX/UX hc C























































                                   - 7 -












                                 CONTENTS


       1.  Introduction..............................................  1

       2.  Documentation.............................................  1

       3.  Prerequisites.............................................  2
           3.1  Hardware.............................................  2
           3.2  Software.............................................  2

       4.  Installation..............................................  2

       5.  Cautions..................................................  2

       6.  Changes from Previous Releases............................  3
           6.1  88110 Code Generation................................  3
           6.2  Compiler Pass Name Changes...........................  4
           6.3  Preprocessor Changes.................................  4
           6.4  Listing Option Changes...............................  5
           6.5  Problems Fixed with This Release.....................  5

       7.  Future Considerations.....................................  6

       8.  Direct Software Support...................................  6




























                                  - i -













          _________________________________________________________________

                                       HARRIS
                                  COMPUTER SYSTEMS
          _________________________________________________________________











                                     CX/UX HC C
                                    VERSION 6.3.1

                                    RELEASE NOTES




                                    0891019-6.3.1












                                     April 1993






          _________________________________________________________________













                                        return to index
================================================================================








                               CX/UX HC C -
                               VERSION 7.1
                              RELEASE NOTES

                     Harris Computer Systems Division






       1.  Introduction

       CX/UX hc C 7.1 is the Harris ANSI C compiler for Series 4000
       and Series 5000 systems.  The hc compiler accepts the C
       language as defined by Kernighan and Ritchie, nearly all of
       the traditional UNIX extensions to this definition, and all
       of the features of the ANSI C standard.  The hc compiler is
       also known as cc.



       2.  Documentation

       The following documentation is included with this release:

             _______________________________________________
            |           Manual Name             Pub. Number|
            |________________________________|_____________|
            | CX/UX Harris C Reference Manual|  0891019-060|
            | CX/UX hc C Release Notes       |  0891019-7.1|
            | C  A Reference Manual          |  0890378-000|
            |________________________________|_____________|


       Additional copies may be ordered by contacting the Harris
       Support Center.  The toll-free number is 1-800-245-6453.
       For calls outside the continental United States the number
       is 1-305-971-6248.






       __________

         - These release notes cover the following products:  hc





                                   - 1 -









       CX/UX hc C                  7.1                Release Notes


       3.  Prerequisites

       Prerequisites for CX/UX hc Version 7.1 are as follows:


       3.1  Hardware

          o Any Harris Series 4000 or Series 5000 system


       3.2  Software

          o CX/UX 7.1



       4.  Installation

       Please refer to the CX/UX System Administration Manual,
       Chapter 3, for instructions on software installation.



       5.  Cautions

          o This release provides a new object-file format, ELF.
            Support for COFF is still available.  See Section 6.1
            for details.

          o hc can generate code that runs on both the Series 4000
            and the Series 5000 Harris computers.  The 88110
            processor used in the Series 5000 can reorder loads and
            stores of different memory locations; use the
            -Qsync_volatile compiler option when compiling
            applications that will be executed on the Series 5000
            and that might depend on the ordering of loads from and
            stores to memory.  One example of such an application
            is a device driver for which a load will change the
            state of the device.

          o The extent to which the hc compiler accepts the C
            language as defined by the ANSI C standard as well as
            defined by the first edition of Kernighan and Ritchie
            is controlled by command-line options.  See the
            discussion of the -X[acto] option in hc(1) for an
            explanation of how hc treats specific C-language
            features in its different compilation modes.






                                   - 2 -









       Release Notes               7.1                   CX/UX hc C


          o Certain incorrect C constructs (as defined by Kernighan
            and Ritchie), which are accepted by pcc-based
            compilers, may not be accepted by hc.  Correctly
            written programs will compile without problems.

          o Users are encouraged to retain the source for their
            applications.  Major releases may provide new object-
            file formats, which will require the recompilation of
            programs.



       6.  Changes from Previous Releases

       The following changes from past releases of hc should be
       noted.


       6.1  ELF Object Files and Dwarf Debugging

       hc now supports two object-file formats:  COFF and ELF.
       COFF is the object-file and debugging format traditionally
       supported by CX/UX.  ELF is the new, SVR4-compatible
       object-file format and Dwarf is the debugging format
       supported by CX/UX in ELF-format object files.  ELF is the
       CX/UX 7.1 default object-file format.  New _COFF and _ELF
       predefined macros exist.  _COFF is defined when compiling in
       the COFF software development environment (SDE).  _ELF is
       defined when compiling in the ELF SDE.

       While the same compiler is used to generate object in either
       of these two formats, other tools such as as and ld, and the
       libraries have different formats.  The new -Z command-line
       option and the SDE_TARGET environment variable may be used
       to choose which object-file format to work with.  Please
       refer to the hc(1) man page for information about SDE_TARGET
       and the -Z option.  Also, the CX/UX Programmer's Guide and
       CX/UX Support Tools Guide contain more information about the
       object-file formats and the tools that deal with them.


       6.2  -Qfile_buffer_limit Command-Line Option

       The -Qfile_buffer_limit command-line option can be used to
       increase the size of the file buffers that ld uses when
       linking large COFF executables.  In situations where ld
       could use larger buffers, it prints out a diagnostic to that
       effect containing a number.  Use that number (or a greater
       number) with the -Qfile_buffer_limit option to permit ld to




                                   - 3 -









       CX/UX hc C                  7.1                Release Notes


       use optimally-sized file buffers and decrease link time.


       6.3  New Optional Syntax for -O Command Line Options

       hc now accepts an alternate syntax for the -O command-line
       option, which is also accepted by hf77, the Harris Fortran
       compiler.  The new syntax is of the form -O,arg1[,arg2...],
       where arg1, arg2, etc. are keywords from the following list:
       minimal, global, maximal, reorder, noreorder, no_reorder,
       post_linker, no_post_linker, standard, unsafe, safe.

       minimal is a synonym for -O1.  global is a synonym for -O2
       or just -O.  maximal is a synonym for -O3.  The other
       keywords serve as modifiers for these basic optimization
       levels.  reorder turns on the use of code reordering for
       optimization; noreorder (and no_reorder) turn it off.
       post_linker turns on the use of analyze88's post-linker
       optimizations; no_post_linker turns it off.  standard (and
       safe) is equivalent to -Qopt_class=safe.  unsafe is
       equivalent to -Qopt_class=unsafe.  safe and standard are
       equivalent to -Qopt_class=standard.































                                   - 4 -









       Release Notes               7.1                   CX/UX hc C


       6.4  88110 Code Generation

       hc provides enhanced code generation that takes advantage of
       features unique to the 88110 microprocessor in Series 5000
       systems.  88110 code generation is selectable via the
       TARGET_ARCH environment variable and from the hc command
       line via the -Qtarget command-line switch.

       See the table later in this section for details about
       targets.  Code generated for the M88100 target is optimized
       for the Series 4000.  Code generated for the M88110 target
       takes advantage of features unique to the 88110
       microprocessor in Series 5000 systems and will not execute
       on Series 4000 systems.  Also, in this mode, a string
       library specially optimized for the Series 5000 is linked
       into the executable.  Code generated for the M88110compat
       target is compatible with the Series 4000, but instructions
       are scheduled for optimal execution on the Series 5000.
       Executables generated in this mode execute on either the
       Series 4000 or the Series 5000.

       A preprocessor macro is defined according to the compilation
       target.  M88100 is the default target for compilation on a
       Series 4000.  M88110 is the default target for compilation
       on a Series 5000.

       ____________________________________________________________
      |    Target   |     Macro    |  Compile|  Schedule|  String |
      |             |              |    for  |    for   |  Library|
      |_____________|______________|_________|__________|_________|
      | M88100      |  M88100      |  88100  |  88100   |  88100  |
      | M88110      |  M88110      |  88110  |  88110   |  88110  |
      | M88110compat|  M88110COMPAT|  88100  |  88110   |  88100  |
      |_____________|______________|_________|__________|_________|



       6.5  Compiler Pass Name Changes

       There are now copies of the executables /lib/cxc and
       /lib/cxc-reorder for each of the supported architectures.
       Their names have been changed to reflect their principal
       target architectures.  For information about target-
       architecture selection, see the preceding section.
       /lib/cxc-100 is the compiler pass for M88100 and
       M88110compat compilations.  /lib/cxc-110 is the compiler
       pass for M88110 compilations.  /lib/cxc-reorder-100 is the
       instruction-scheduler pass for M88100 compilations.
       /lib/cxc-reorder-110 is the instruction-scheduler pass for




                                   - 5 -









       CX/UX hc C                  7.1                Release Notes


       M88110 and M88110compat compilations.


       6.6  Preprocessor Changes

       In past releases, the hc compiler used an internal
       preprocessor rather than invoking a separate preprocessing
       pass with cpp(1).  The current release of hc always makes
       use of a separate preprocessing pass either with cpp(1) or
       with the new ANSI C preprocessor.  This introduces the
       following incompatibilities with preprocessing extensions
       supported by the Harris hc compiler bundled with versions of
       CX/UX prior to version 6.0:

          o The sizeof() operator may no longer be used in
            conditional compilation expressions (#if expressions).
            This practice was never considered to be portable C.

          o The #savetable, #loadtable, #pragma push, #pragma pop,
            and #pragma optimization directives are no longer
            supported.

          o The #array_expand Harris-specific directive is no
            longer supported.

          o The compiler now treats the arguments to #pragma as a
            sequence of C tokens.  In the past, these were treated
            as a character string and divided into tokens according
            to rules that were unique to each #pragma directive.
            This change should make the behavior of pragmas more
            consistent.  For example, all pragmas that accept
            numeric arguments now accept C hexadecimal and octal
            constants as well as decimal constants.

          o #pragma must be used with all Harris-specific
            directives when the compiler is run in ANSI C
            conforming mode (-Xc option).

            Note that the Harris #error directive (that controls
            the printing of some error messages) has a name
            conflict with the ANSI C #error directive (that causes
            the compilation to terminate while printing the user-
            specified diagnostic message); #pragma error should
            always be used when the Harris version is desired.

       The use of the external preprocessors has fixed the
       following problems with the past release of hc.






                                   - 6 -









       Release Notes               7.1                   CX/UX hc C


          o Macros are now correctly expanded in #include
            directives.

          o Certain cases of token-splicing macros that failed with
            the internal preprocessor now work in Old mode (-Xo
            option).  However, they typically do not work in the
            ANSI C compilation modes (-Xt, -Xa and -Xc options).


       6.7  Listing Option Changes

       The format of hc compiler-generated listings (-QP option)
       has changed.  Page headers have a different layout than in
       past releases.  The use of the external preprocessors forces
       some changes in the presentation of macro (-QPX) and include
       (-QPa) file expansions (minor variations are noticed
       depending on the compilation mode).  The following #pragma
       listing-control directives are no longer supported:
       expandinclude, expandmacro, ident, linelength, list, page,
       search, title.


       6.8  Problems Fixed with This Release

       The following errors in previous releases of hc have been
       corrected:

          o hc Version 7.1 can compile larger programs than
            previous versions.

          o Using the -i option could cause an incorrect source
            file name to be inserted into the debugging information
            in Old (traditional) mode.

          o The -P option would cancel out the -g option.  Now the
            combination of -P and -g produces a preprocessed file
            with line-number information included.

          o If a single compilation included too many distinct
            include files, the compiler would abort with a core
            dump.












                                   - 7 -









       CX/UX hc C                  7.1                Release Notes


       7.  Future Considerations

       As part of Harris' commitment to standards, it can be
       expected that in a future release of hc the default
       compilation mode will change from Old (traditional) mode to
       ANSI C mode.  Users are advised to explicitly set
       compilation modes on the hc command line as part of their
       build procedures.




       8.  Direct Software Support

       Software support is available from a central source.  When
       you need assistance or information about your system, please
       contact the Harris Software Support Center at our toll free
       number (800-245-6453).  Our customers outside the
       continental United States can contact us directly at 305-
       971-6248.  The Software Support Center operates Monday
       through Friday from 8 a.m. to 7 p.m., Eastern Standard time.

       Calling the Software Support Center gives you immediate
       access to a broad range of skilled personnel and guarantees
       you a prompt response from the person most qualified to
       assist you.  If you have a question requiring on-site
       assistance or consultation, the Software Support Center
       staff will arrange for a field analyst to return your call
       and schedule a visit.

       Harris provides a Software Action Request (SAR) form which
       our customers can fill out and submit to their local field
       analyst or the Software Support Center.  This procedure
       ensures that your request is entered into our SAR database
       for follow-up and action.

       To obtain copies of SAR forms, call the Software Support
       Center and request form number CSD1833B.















                                   - 8 -












                                 CONTENTS


       1.  Introduction..............................................  1

       2.  Documentation.............................................  1

       3.  Prerequisites.............................................  2
           3.1  Hardware.............................................  2
           3.2  Software.............................................  2

       4.  Installation..............................................  2

       5.  Cautions..................................................  2

       6.  Changes from Previous Releases............................  3
           6.1  ELF Object Files and Dwarf Debugging.................  3
           6.2  -Qfile_buffer_limit Command-Line Option..............  3
           6.3  New Optional Syntax for -O Command Line Options......  4
           6.4  88110 Code Generation................................  5
           6.5  Compiler Pass Name Changes...........................  5
           6.6  Preprocessor Changes.................................  6
           6.7  Listing Option Changes...............................  7
           6.8  Problems Fixed with This Release.....................  7

       7.  Future Considerations.....................................  8

       8.  Direct Software Support...................................  8

























                                  - i -













          _________________________________________________________________

                                       HARRIS
                                  COMPUTER SYSTEMS
          _________________________________________________________________











                                     CX/UX HC C
                                     VERSION 7.1

                                    RELEASE NOTES




                                     0891019-7.1












                                    October 1993






          _________________________________________________________________













                                        return to index
================================================================================








                           CX/UX HF77 FORTRAN -
                              VERSION 6.3.2
                              RELEASE NOTES

                     Harris Computer Systems Division






       1.  Introduction

       This is Hf77 6.3.2, a full release of CX/UX Hf77 Fortran.
       This release introduces support for INTERNAL procedures, the
       SELECT CASE decision structure, and the -uns_int1 flag for
       unsigned INTEGER*1 variables.  These are similar to Encore
       (TM) 1 language features and will ease porting existing code
       to Series 4000 and 5000 systems.  Also new is support for
       132-column input lines, using the -col132 flag.

       CX/UX Hf77 Fortran is a Harris Fortran product using Harris
       CCG technology.  Hf77 accepts standard Fortran 77, the MIL-
       STD 1753 extensions, all of the Portable Fortran F77
       Compiler extensions, and select Harris VOS Fortran, DEC
       Vax(TM) 2 VMS and Encore extensions.

       The executable names hf77 and f77 both refer to the Hf77
       compiler.

       This release is available for Series 4000 and 5000 systems
       and includes the following software:


       CCG-based Fortran 77 compiler          /usr/bin/hf77
                                              /usr/bin/f77
                                              /usr/lib/cxf77-100




       __________

         - These release notes cover the following products:  hf77

        1. Encore is a trademark of Encore Computer Corporation.

        2. VAX is a trademark of Digital Equipment Corporation.





                                   - 1 -









       CX/UX Hf77 Fortran         6.3.2               Release Notes


                                              /usr/lib/cxf77-110
                                              /usr/lib/cxf77-reorder-100
                                              /usr/lib/cxf77-reorder-110
                                              /usr/lib/hf77cc

       Run-time libraries                     /usr/lib/libhF77.a
                                              /usr/lib/libhI77.a
                                              /usr/lib/libhU77.a
                                              /usr/lib/libp/libhF77.a
                                              /usr/lib/libp/libhI77.a
                                              /usr/lib/libp/libhU77.a

       Support files                          /lib/nounsint1.o
                                              /lib/unsint1.o
                                              /usr/lib/libf77.x

       Other Fortran 77 family processors     /usr/bin/fsplit
                                              /usr/bin/ratfor
                                              /usr/bin/xref

       Select Fortran 66 and VOS Fortran 77   /usr/bin/f66_hf77
       constructs and conversion scripts      /usr/bin/fix_octal
                                              /usr/bin/vos_hf77
                                              /usr/lib/vos_hf77.awk

       Man pages for the above.




       2.  Documentation

       The following documentation is included with this release:

          _____________________________________________________
         |             Manual Name                Pub. Number |
         |____________________________________|_______________|
         | CX/UX Hf77 FORTRAN Reference Manual|  0890240-040  |
         | CX/UX Hf77 FORTRAN Release Notes   |  0890240-6.3.2|
         |____________________________________|_______________|


       Additional copies may be ordered by contacting the Harris
       Support Center.  The toll-free number is 1-800-245-6453.
       For calls outside the continental United States the direct
       number is 1-305-971-6248.







                                   - 2 -









       Release Notes              6.3.2          CX/UX Hf77 Fortran


       3.  Prerequisites

       Prerequisites for CX/UX Hf77 Fortran Version 6.3.2 are as
       follows:


       3.1  Hardware

          o Any Series 4000 or Series 5000 system


       3.2  Software

          o CX/UX 6.2



       4.  Installation

       Please refer to the CX/UX System Administration Manual,
       Chapter 3, for instructions on software installation.



       5.  Cautions

       Included are problems reported in Software Action Requests
       (SARs) open as of August 29, 1994.  If an SAR is assigned to
       a problem, its number appears in parentheses after the
       description.

       Users are encouraged to retain the source for their
       applications.  Major releases may provide new object file
       formats which require the recompilation of programs.

         o Variable declarations that appear like typed function
           headers confuse the compiler (HM10806).

         o A fatal error in a declaration invalidates the remaining
           declarations on the line.

         o Compiler syntax error recovery is not successful when a
           previously declared PARAMETER is declared again
           (HM10639).

         o An intrinsic name that appears in an INTRINSIC statement
           may cause a "bad length" error message.  The workaround
           is to remove the name from the INTRINSIC statement
           (HM11321).




                                   - 3 -









       CX/UX Hf77 Fortran         6.3.2               Release Notes


         o Initializing the same common-block location multiple
           times may cause internal errors if the remainder of the
           common-block initializations do not occur sequentially
           in the storage sequence (HM10543).  Initialization of
           overlapping sections of a character array causes the
           compiler to abort (HM10082).

         o When initializing a large character scalar variable
           (greater than 1320 characters) with a single character,
           an invalid size character constant error occurs.

         o Invoking a logical-valued statement function without
           arguments may cause the compiler to abort (HM11318).
           Statement functions involving more than one complex
           character expression and/or character-valued function
           call may produce incorrect results.

         o Using INTEGER*2 variables in IEOR() with hexadecimal
           constants may force the result type to be INTEGER*4
           (HM10891).

         o Incorrectly referencing a scalar datapool member as an
           array does not generate an error message (HM11211).

         o Invalid characters within hexadecimal constants do not
           cause errors (HM11328).

         o The %LOC() intrinsic cannot be used in an I/O list; a
           run-time library error is the result (HM10722).

         o A countdown loop with a negative real constant step size
           is not entered when the bounds indicate it should be
           (HM10939).

         o The compiler does not always detect an explicit
           modification of a DO loop variable within the range of
           the loop.

         o The compiler does not generate an error for I/O
           qualifiers with incorrect character values, e.g.,
           specifying ACCESS=APPEND in an OPEN statement when
           ACCESS="APPEND" was intended.  (HM10662)

         o The ERR= and END= clauses do not apply to namelist I/O
           (HM11195).

         o The I/O ERR= branch is not taken for quota exceeded
           error in WRITE statements (HM08749).





                                   - 4 -









       Release Notes              6.3.2          CX/UX Hf77 Fortran


         o The use of a / format descriptor does not advance the
           record pointer on an internal read (GH0258).

         o Tab characters in source files are not expanded to tab
           stops, but treated as a single space except at the
           beginning of the line, where they indicate the end of
           the statement label field.  This will cause problems if
           tabs are expected to affect column positioning elsewhere
           in source files (HM10367).  Tabs in the statement label
           field are treated differently with the -VAX option; see
           the CX/UX Hf77 Fortran Reference Manual for details.

         o The compiler does not generate an error for statement
           label 0 (HM10622).

         o Error message line numbers are not always accurate when
           source files INCLUDE other source files.

         o The Fortran library depends heavily on the AT&T versions
           of the C libraries, so mixing Fortran and C in the UCB
           universe will cause problems (HM10327).

         o Array subscript bounds checking (-C) may cause the
           compiler to abort if array elements are used in a
           character substring expression (HM11216).  Bounds
           checking also does not check values of individual
           subscripts, but rather overruns of the entire array
           storage (HM10444).  The compiler may abort with bounds
           checking (HM10482).

         o Entry points do not have debug entries (HM10494).  Line
           number debug entries may occasionally be incorrect
           (HM10553).

         o Code generated with the -g debug option is slightly
           slower than code without it.  Value consistency is
           maintained between a temporary copy of a variable in a
           CPU register and that variable's location in memory.

         o gdb can access datapool variables only through their
           constructed name (HM10864).

         o A datapool definition object file name appearing within
           the INCLUDE statement of a shmdefine(1) input file may
           not contain a hyphen "-".  This is a bug in ld(1).








                                   - 5 -









       CX/UX Hf77 Fortran         6.3.2               Release Notes


       6.  New Features in this Release

       6.1  INTERNAL Procedures

       Hf77 supports Encore-style INTERNAL procedures.  The sole
       caveat:  it is not currently possible to override an
       intrinsic name with an internal procedure definition.

       6.2  SELECT CASE Decision Structure

       Hf77 provides the Encore-style SELECT CASE decision
       structure.

       6.3  Unsigned INTEGER*1

       Use the -uns_int1 option for unsigned INTEGER*1 variables.
       INTEGER*1 variables are unsigned on Encore machines.

       6.4  132-column Input Lines

       Use the -col132 option to compile source files with 132-
       column input lines.  The -col72 option reinforces the
       default standard Fortran 77 fixed-format line.

       6.5  Faster Compile-Time Initialization Processing

       Compilation of large numbers of compile-time
       initializations, prevalent in BLOCK DATA subprograms, is
       twenty times faster.

       6.6  Other Features

       An SAR number in parentheses follows the description of an
       extension if the extension was prompted by an SAR.

         o Array names are now allowed within multiple assignment
           statements.  The assignment to the array is as in array
           assignment, and the assignment from the array is the
           scalar value assigned to the array.

         o Less compilation time is required for large subprograms
           (HM10818).

         o Generated code is slightly faster.









                                   - 6 -









       Release Notes              6.3.2          CX/UX Hf77 Fortran


       7.  Changes from Previous Releases

       7.1  No Unnecessary Alignment for Equivalence Classes

       Equivalence classes are aligned to the requirements of their
       most restrictive member variable.  Previously, all
       equivalence classes were aligned to eight-byte boundaries,
       except those within COMMON and POINTER blocks (HM11252).

       7.2  Other Changes

       Most of the changes provided in this release are a result of
       SARs received. The number in parentheses following each
       change is the assigned SAR number that prompted the
       modification.

         o The compiler generates a more useful diagnostic when a
           dummy argument name appears in a PARAMETER statement
           (HM11307).

         o A name appearing in the CEXTERNAL statement passed as an
           actual argument now has the correct external name.

         o Statement functions containing multiple arithmetic
           expressions and function calls with side effects now
           work correctly.

         o Namelist member variables are now considered modified by
           a namelist read.  This had caused incorrect optimization
           of namelist member variables (HM11174).

         o Using a logical function as the single term of an IF
           logical expression now works with the -V option.

         o The %LOC() compile-time intrinsic may be applied to
           subprogram names.

         o A few library aborts when performing internal I/O are
           corrected.

         o Sending large amounts of compiler output across a pipe
           attached to a socket no longer causes spurious compiler
           aborts.




       A complete list of all SARs closed for this release is, as
       follows:




                                   - 7 -









       CX/UX Hf77 Fortran         6.3.2               Release Notes


       HM10818, HM11174, HM11252, HM11307.




       8.  Direct Software Support

       Software support is available from a central source.  When
       you need assistance or information about your system, please
       contact the Harris Software Support Center at our toll free
       number (800-245-6453).  Our customers outside the
       continental United States can contact us directly at 305-
       971-6248.  The Software Support Center operates Monday
       through Friday from 8 a.m. to 7 p.m., Eastern Standard time.

       Calling the Software Support Center gives you immediate
       access to a broad range of skilled personnel and guarantees
       you a prompt response from the person most qualified to
       assist you.  If you have a question requiring on-site
       assistance or consultation, the Software Support Center
       staff will arrange for a field analyst to return your call
       and schedule a visit.

       Harris provides a Software Action Request (SAR) form which
       our customers can fill out and submit to their local field
       analyst or the Software Support Center.  This procedure
       ensures that your request is entered into our SAR database
       for follow-up and action.

       To obtain copies of SAR forms, call the Software Support
       Center and request form number CSD1833B.






















                                   - 8 -












                                 CONTENTS


       1.  Introduction..............................................  1

       2.  Documentation.............................................  2

       3.  Prerequisites.............................................  3
           3.1  Hardware.............................................  3
           3.2  Software.............................................  3

       4.  Installation..............................................  3

       5.  Cautions..................................................  3

       6.  New Features in this Release..............................  6
           6.1  INTERNAL Procedures..................................  6
           6.2  SELECT CASE Decision Structure.......................  6
           6.3  Unsigned INTEGER*1...................................  6
           6.4  132-column Input Lines...............................  6
           6.5  Faster Compile-Time Initialization Processing........  6
           6.6  Other Features.......................................  6

       7.  Changes from Previous Releases............................  7
           7.1  No Unnecessary Alignment for Equivalence Classes.....  7
           7.2  Other Changes........................................  7

       8.  Direct Software Support...................................  8

























                                  - i -













          _________________________________________________________________

                                       HARRIS
                                  COMPUTER SYSTEMS
          _________________________________________________________________











                                 CX/UX HF77 FORTRAN
                                    VERSION 6.3.2

                                    RELEASE NOTES




                                    0890240-6.3.2












                                     August 1994






          _________________________________________________________________













                                        return to index
================================================================================








                           CX/UX HF77 FORTRAN -
                               VERSION 7.2
                              RELEASE NOTES

                     Harris Computer Systems Division






       1.  Introduction

       This is Hf77 7.2, a full release of CX/UX Hf77 Fortran.
       This release introduces support for INTERNAL procedures, the
       SELECT CASE decision structure, and the -uns_int1 flag for
       unsigned INTEGER*1 variables.  These are similar to Encore
       (TM) 1 language features and will ease porting existing code
       to Series 4000 and 5000 systems.  Also new is support for
       132-column input lines, using the -col132 flag.

       Additionally, full support for POSIX P1003.9 Fortran 77
       Language Bindings is provided via the -lposix9 library.
       These bindings provide Fortran-language access to the system
       services described in POSIX P1003.1, and include flexible
       Fortran-language signal handling, file system manipulation,
       process management and other operations.  The new POSIX
       material is in development and the documentation for it is
       incomplete.

       CX/UX Hf77 Fortran is a Harris Fortran product using Harris
       CCG technology.  Hf77 accepts standard Fortran 77, the MIL-
       STD 1753 extensions, all of the Portable Fortran F77
       Compiler extensions, and select Harris VOS Fortran, DEC
       VAX(TM) 2 VMS and Encore extensions.

       The executable names hf77 and f77 both refer to the Hf77
       compiler.



       __________

         - These release notes cover the following products:  hf77

        1. Encore is a trademark of Encore Computer Corporation.

        2. VAX is a trademark of Digital Equipment Corporation.





                                   - 1 -









       CX/UX Hf77 Fortran          7.2                Release Notes


       This release is available for Series 4000 and 5000 systems
       and includes the following software.  SDE are directories
       appropriate to individual Software Development Environments
       and are /usr/sde/{coff,elf,ocs}.


       CCG-based Fortran 77 compiler          /usr/bin/hf77
                                              /usr/bin/f77
                                              /usr/lib/cxf77-100
                                              /usr/lib/cxf77-110
                                              /usr/lib/cxf77-reorder-100
                                              /usr/lib/cxf77-reorder-110
                                              /usr/lib/hf77cc

       Run-time libraries                     SDE/usr/lib/libhF77.a
                                              SDE/usr/lib/libhI77.a
                                              SDE/usr/lib/libhU77.a
                                              SDE/usr/lib/libposix9.a
                                              SDE/usr/lib/libp/libhF77.a
                                              SDE/usr/lib/libp/libhI77.a
                                              SDE/usr/lib/libp/libhU77.a
                                              SDE/usr/lib/libp/libposix9.a
                                              /usr/sde/elf/usr/lib/libhF77.so
                                              /usr/sde/elf/usr/lib/libhF77.so.1
                                              /usr/sde/elf/usr/lib/libhI77.so
                                              /usr/sde/elf/usr/lib/libhU77.so
                                              /usr/sde/elf/usr/lib/libposix9.so

       Support files                          SDE/usr/lib/vax.o
                                              SDE/usr/lib/nounsint1.o
                                              SDE/usr/lib/unsint1.o
                                              /usr/lib/libf77.x

       Other Fortran 77 family processors     /usr/bin/fsplit
                                              /usr/bin/ratfor
                                              /usr/bin/xref

       Select Fortran 66 and VOS Fortran 77   /usr/bin/f66_hf77
       constructs and conversion scripts      /usr/bin/fix_octal
                                              /usr/bin/vos_hf77
                                              /usr/lib/vos_hf77.awk

       Man pages for the above.










                                   - 2 -









       Release Notes               7.2           CX/UX Hf77 Fortran


       2.  Documentation

       The following documentation is included with this release:

           ___________________________________________________
          |             Manual Name               Pub. Number|
          |____________________________________|_____________|
          | CX/UX Hf77 FORTRAN Reference Manual|  0890240-050|
          | CX/UX Hf77 FORTRAN Release Notes   |  0890240-7.2|
          |____________________________________|_____________|


       Additional copies may be ordered by contacting the Harris
       Support Center.  The toll-free number is 1-800-245-6453.
       For calls outside the continental United States the direct
       number is 1-305-971-6248.



       3.  Prerequisites

       Prerequisites for CX/UX Hf77 Fortran Version 7.2 are as
       follows:


       3.1  Hardware

          o Any Series 4000 or Series 5000 system.


       3.2  Software

          o CX/UX 7.1.



       4.  Installation

       Please refer to the CX/UX System Administration Manual,
       Chapter 3, for instructions on software installation.



       5.  Cautions

       Included are problems reported in Software Action Requests
       (SARs) open as of August 29, 1994.  If an SAR is assigned to
       a problem, its number appears in parentheses after the
       description.




                                   - 3 -









       CX/UX Hf77 Fortran          7.2                Release Notes


       Users are encouraged to retain the source for their
       applications.  Major releases may provide new object file
       formats which require the recompilation of programs.

         o CX/UX Release 7 provides the new ELF object-file format.
           Support for COFF is still available.  See the "New
           Features" section for details.

         o When using the INCLUDE statement in the ELF Software
           Development Environment to include executable code, a
           compiler abort may occur.

         o Variable declarations that appear like typed function
           headers confuse the compiler (HM10806).

         o A fatal error in a declaration invalidates the remaining
           declarations on the line.

         o Compiler syntax error recovery is not successful when a
           previously declared PARAMETER is declared again
           (HM10639).

         o Initializing the same common-block location multiple
           times may cause internal errors if the remainder of the
           common-block initializations do not occur sequentially
           in the storage sequence (HM10543).

         o Initialization of overlapping sections of a character
           array causes the compiler to abort (HM10082).

         o When initializing a large character scalar variable
           (greater than 1320 characters) with a single character,
           an invalid size character constant error occurs.

         o Invoking a logical-valued statement function without
           arguments may cause the compiler to abort (HM11318).
           Statement functions involving more than one character
           expression and/or character-valued function call may
           produce incorrect results.

         o Incorrectly referencing a scalar datapool member as an
           array does not generate an error message (HM11211).

         o Invalid characters within hexadecimal constants do not
           cause errors (HM11328).

         o Using INTEGER*2 variables in IEOR() with hexadecimal
           constants may force the result type to be INTEGER*4
           (HM10891).




                                   - 4 -









       Release Notes               7.2           CX/UX Hf77 Fortran


         o The %LOC() intrinsic cannot be used in an I/O list; a
           run-time library error is the result (HM10722).

         o A countdown loop with a negative real constant step size
           is not entered when the bounds indicate it should be
           (HM10939).

         o The compiler does not always detect an explicit
           modification of a DO loop variable within the range of
           the loop.

         o The compiler does not generate an error for I/O
           qualifiers with incorrect character values, e.g.,
           specifying ACCESS=APPEND in an OPEN statement when
           ACCESS="APPEND" was intended.  (HM10662)

         o The ERR= and END= clauses do not apply to namelist I/O
           (HM11195).

         o The I/O ERR= branch is not taken for quota exceeded
           error in WRITE statements (HM08749).

         o The use of a / format descriptor does not advance the
           record pointer on an internal read (GH0258).

         o Tab characters in source files are not expanded to tab
           stops, but treated as a single space except at the
           beginning of the line, where they indicate the end of
           the statement label field.  This will cause problems if
           tabs are expected to affect column positioning elsewhere
           in source files (HM10367).  Tabs in the statement label
           field are treated differently with the -VAX option; see
           the CX/UX Hf77 Fortran Reference Manual for details.

         o The compiler does not generate an error for statement
           label 0 (HM10622).

         o The Fortran library depends heavily on the AT&T versions
           of the C libraries, so mixing Fortran and C in the UCB
           universe will cause problems (HM10327).

         o Array subscript bounds checking (-C) may cause the
           compiler to abort if array elements are used in a
           character substring expression (HM11216).  Bounds
           checking also does not check values of individual
           subscripts, but rather overruns of the entire array
           storage (HM10444).  The compiler may abort with bounds
           checking (HM10482).





                                   - 5 -









       CX/UX Hf77 Fortran          7.2                Release Notes


         o In the COFF SDE entry points do not have debug entries
           (HM10494).

         o Line number debug information may occasionally be
           incorrect (HM10553).

         o Error message line numbers are not always accurate when
           source files INCLUDE other source files.

         o Code generated with the -g debug option is slightly
           slower than code without it.  Value consistency is
           maintained between a temporary copy of a variable in a
           CPU register and that variable's location in memory.

         o gdb can access datapool variables only through their
           constructed name (HM10864).

         o Within a shmdefine(1) input file in the COFF SDE, a
           datapool definition object file name appearing within
           the INCLUDE statement may not contain a hyphen "-".
           This is a bug in ld(1).



       6.  New Features in this Release

       Some of the features below were also announced with the
       release of Hf77 7.1.

       6.1  ELF Object-file Format

       Hf77 now supports two object-file formats: ELF and COFF.
       ELF is the new, SVR4-compatible, object-file format, and
       Dwarf is the debugging format supported by CX/UX in ELF-
       format object files.  ELF is the CX/UX Release 7 default
       object-file format.  COFF is the object-file and debugging
       format traditionally supported by CX/UX.

       While the same compiler is used to generate object in either
       of these two formats, other tools such as as(1) and ld(1),
       and the libraries have different formats. The new -Z
       command-line option and the SDE_TARGET environment variable
       may be used to choose which object-file format to work with.
       Please refer to the hf77(1) man page for information about
       SDE_TARGET and the -Z option.  Also, the CX/UX Programmer's
       Guide and CX/UX Support Tools Guide contain more information
       about the object-file formats and the tools that deal with
       them.





                                   - 6 -









       Release Notes               7.2           CX/UX Hf77 Fortran


       The ELF object-file format supports shared objects, allowing
       multiple processes to share the same executing text, thus
       saving real memory. Shared-object versions of the Fortran
       libraries are supplied along with the ELF static and
       traditional COFF versions.  Shared-object versions of the
       libraries are used by default in the ELF software
       development environment (SDE).  The -Z option and the
       STATIC_LINK environment variable are used to specify the
       library version the executable is linked with.

       Because of the additional object-file format, many of the
       support files used by hf77 are now SDE-specific. See the
       "FILES" section of the hf77(1) man page for details.

       6.2  POSIX 1003.9 Fortran

       Hf77 fully supports POSIX P1003.9 Fortran 77 Language
       Bindings, a set of Fortran-accessible routines that provide
       P1003.1-mandated system services.  See the posix9(3F) online
       man page for a starter.  Note: the online documentation is
       incomplete and will be updated as available.  Refer to the
       online man pages, and the IEEE P1003.9 document (available
       from IEEE) for more complete information.

       6.3  INTERNAL Procedures

       Hf77 supports Encore-style INTERNAL procedures.  The sole
       caveat:  it is not currently possible to override an
       intrinsic name with an internal procedure definition.

       6.4  SELECT CASE Decision Structure

       Hf77 provides the Encore-style SELECT CASE decision
       structure.

       6.5  Unsigned INTEGER*1

       Use the -uns_int1 option for unsigned INTEGER*1 variables.
       INTEGER*1 variables are unsigned on Encore machines.

       6.6  132-Column Input Lines

       Use the -col132 option to compile source files with 132-
       column input lines.  The -col72 option reinforces the
       default standard Fortran 77 fixed-format line.








                                   - 7 -









       CX/UX Hf77 Fortran          7.2                Release Notes


       6.7  Faster Compile-Time Initialization Processing

       Compilation of large numbers of compile-time
       initializations, prevalent in BLOCK DATA subprograms, is
       twenty times faster.

       6.8  Other Features

         o Array names are now allowed within multiple assignment
           statements.  The assignment to the array is as in array
           assignment, and the assignment from the array is the
           scalar value assigned to the array.

         o The -o object-name option is accepted for renaming the
           resulting object file.  This usage is recognized when
           the -c option is specified, there is one source file,
           and the -o option appears before the source file name on
           the command line.

         o The -h shared-object-name option is accepted while
           building a shared object.  shared-object-name is the
           name recorded for the shared object.

         o The -O option now accepts keywords to control
           optimization level, safety, and optimizations performed
           by the instruction reorder tool and post-link optimizer.
           See the hf77(1) man page for details.

         o The -Qskew_large_arrays option is accepted for
           encouraging efficient cache usage.  See the hf77(1) man
           page for details.

         o The TARGET_ARCH environment variable is accepted as an
           alternative to -Qtarget=.  See the hf77(1) man page for
           details.

         o Other new -Q options include -Qinvert_divides, -Qnotic,
           -Qschedule_tn_window=N, -Qtic, and
           -Qtime_conflict_stages=N.

         o Less compilation time is required for large subprograms.

         o Generated code is slightly faster.










                                   - 8 -









       Release Notes               7.2           CX/UX Hf77 Fortran


       7.  Changes from Previous Releases

       7.1  No Unnecessary Alignment for Equivalence Classes

       Equivalence classes are aligned to the requirements of their
       most restrictive member variable.  Previously, all
       equivalence classes were aligned to eight-byte boundaries
       except those within COMMON and POINTER blocks (HM11252).

       7.2  Other Changes

       Many of the changes provided in this release are a result of
       SARs received. The number in parentheses following each
       change is the assigned SAR number that prompted the
       modification.

         o When specifying an ld(1) mapfile, such as the .ld output
           file created by shmdefine(1), on the command line in the
           ELF SDE, the -M mapfile option must be used.  In the
           COFF SDE the -M option must not be used, and mapfile
           should be specified directly on the command line
           (HM11285).

         o Linking with Fortran shared objects does not require a
           Fortran PROGRAM (HM11301).

         o The INCLUDE statement almost works in the ELF
           environment.  See "Cautions" above (HM11303).

         o An intrinsic name whose data type is double-word size or
           larger that appears in an INTRINSIC statement no longer
           causes an error message (HM11321).

         o The compiler generates an error when an adjustable
           dimension is not INTEGER type (HM11156).

         o The compiler generates a more useful diagnostic when a
           dummy argument name appears in a PARAMETER statement
           (HM11307).

         o A name appearing in the CEXTERNAL statement passed as an
           actual argument now has the correct external name.

         o Statement functions containing multiple arithmetic
           expressions and function calls with side effects now
           work correctly.

         o Namelist member variables are now considered modified by
           a namelist read.  This had caused incorrect optimization




                                   - 9 -









       CX/UX Hf77 Fortran          7.2                Release Notes


           of namelist member variables (HM11174).

         o Using a logical function as the single term of an IF
           logical expression now works with the -V option.

         o The .EQV. operator works correctly (HM11317).

         o The .SHIFT. and .ROTAT. operators work correctly for
           INTEGER*1 and all LOGICAL operands (HM11298).

         o The %LOC() compile-time intrinsic may be applied to
           subprogram names.

         o A few library aborts when performing internal I/O are
           corrected.

         o Sending large amounts of compiler output across a pipe
           attached to a socket no longer causes spurious compiler
           aborts.

       A complete list of all SARs closed for this release is, as
       follows:

       HM11156, HM11174, HM11252, HM11285, HM11298, HM11301,
       HM11303, HM11307, HM11317, HM11321.




       8.  Direct Software Support

       Software support is available from a central source.  When
       you need assistance or information about your system, please
       contact the Harris Software Support Center at our toll free
       number (800-245-6453).  Our customers outside the
       continental United States can contact us directly at 305-
       971-6248.  The Software Support Center operates Monday
       through Friday from 8 a.m. to 7 p.m., Eastern Standard time.

       Calling the Software Support Center gives you immediate
       access to a broad range of skilled personnel and guarantees
       you a prompt response from the person most qualified to
       assist you.  If you have a question requiring on-site
       assistance or consultation, the Software Support Center
       staff will arrange for a field analyst to return your call
       and schedule a visit.

       Harris provides a Software Action Request (SAR) form which
       our customers can fill out and submit to their local field




                                  - 10 -









       Release Notes               7.2           CX/UX Hf77 Fortran


       analyst or the Software Support Center.  This procedure
       ensures that your request is entered into our SAR database
       for follow-up and action.

       To obtain copies of SAR forms, call the Software Support
       Center and request form number CSD1833B.















































                                  - 11 -












                                 CONTENTS


       1.  Introduction.............................................   1

       2.  Documentation............................................   3

       3.  Prerequisites............................................   3
           3.1  Hardware............................................   3
           3.2  Software............................................   3

       4.  Installation.............................................   3

       5.  Cautions.................................................   3

       6.  New Features in this Release.............................   6
           6.1  ELF Object-file Format..............................   6
           6.2  POSIX 1003.9 Fortran................................   7
           6.3  INTERNAL Procedures.................................   7
           6.4  SELECT CASE Decision Structure......................   7
           6.5  Unsigned INTEGER*1..................................   7
           6.6  132-Column Input Lines..............................   7
           6.7  Faster Compile-Time Initialization Processing.......   8
           6.8  Other Features......................................   8

       7.  Changes from Previous Releases...........................   9
           7.1  No Unnecessary Alignment for Equivalence
                Classes.............................................   9
           7.2  Other Changes.......................................   9

       8.  Direct Software Support..................................  10






















                                  - i -













          _________________________________________________________________

                                       HARRIS
                                  COMPUTER SYSTEMS
          _________________________________________________________________











                                 CX/UX HF77 FORTRAN
                                     VERSION 7.2

                                    RELEASE NOTES




                                     0890240-7.2












                                    January 1995






          _________________________________________________________________













                                        return to index
================================================================================