DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ D M R T

⟦0e555866a⟧ R1K_ARCHIVE_DATA, TextFile

    Length: 126107 (0x1ec9b)
    Types: R1K_ARCHIVE_DATA, TextFile
    Names: »DATA«

Derivation

└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
    └─ ⟦77aa8350c⟧ »DATA« 
        └─⟦this⟧ 

TextFile




        




















                     Rational Cross-Development Facility:
                                M68020/OS-2000
                              Release Information

                               Rev7_2_2 Release






























\f




        





       Copyright  1992 by Rational



       Part Number: 508-003218-007

       October 1992 (Software Release Rev7_2_2)































       Motorola is a registered trademark of Motorola, Inc.

       Rational  is a registered trademark and Rational Environment is a
       trademark of Rational.




                                   Rational
                             3320 Scott Boulevard
                      Santa Clara, California  95054-3197

\f

                                                        Rev7_2_2 Release


       1.  Overview

       Rev7_2_2  is   a   release   of   the   Rational   M68020/OS-2000
       Cross-Development  Facility  (CDF).  This  release note lists new
       features added, problems fixed, and  problems  still  outstanding
       since the previous release of the CDF.

       The main features of this release are:

       *  Support for shared-code generics

       *  Support for spec/load views

       *  Support for code views

       *  Integration   with   "Program_Library"  facilities,  providing
          faster prelinking

       *  Reduced compilation times

       *  Object files are now generated directly by the compiler

       This release REQUIRES environment release D_12_4_7 or later.

       This release  generates  code  that  is  incompatible  with  code
       generated by previous versions of the CDF.


       1.1.  Views in This Release

       This release includes the following views:

       *  !TARGETS.IMPLEMENTATION.MC68020_OS2000_DEBUGGERS.REV11_SPEC

       *  !TARGETS.IMPLEMENTATION.MC68020_OS2000_DEBUGGERS.REV11_0_3

       *  !TARGETS.IMPLEMENTATION.MC68020_OS2000_TARGET.REV11_SPEC

       *  !TARGETS.IMPLEMENTATION.MC68020_OS2000_TARGET.CODE11_0_3

       *  !TARGETS.IMPLEMENTATION.MOTOROLA_68K.REV7_2_SPEC

       *  !TARGETS.IMPLEMENTATION.MOTOROLA_68K.CODE7_2_20

       *  !TARGETS.IMPLEMENTATION.MOTOROLA_68K_HOST.REV11_5_SPEC

       *  !TARGETS.IMPLEMENTATION.MOTOROLA_68K_HOST.CODE_REV7_13

       *  !TARGETS.IMPLEMENTATION.MOTOROLA_68K_TRANSFER.REV3_SPEC

       *  !TARGETS.IMPLEMENTATION.MOTOROLA_68K_TRANSFER.REV3_1_1

       *  !TARGETS.IMPLEMENTATION.OBJECT_CONVERSION.REV7_2_SPEC

       *  !TARGETS.IMPLEMENTATION.OBJECT_CONVERSION.CODE7_2_0

       RATIONAL     October 1992                                       1\f

       Rational Cross-Development Facility:
       M68020/OS-2000 Release Information


       *  !TARGETS.IMPLEMENTATION.OBJECT_MODULE.REV7_2_SPEC

       *  !TARGETS.IMPLEMENTATION.OBJECT_MODULE.CODE7_2_0

       *  !TARGETS.IMPLEMENTATION.MC68020_OS2000_RUNTIMES.REV7_2_3

       *  !TARGETS.IMPLEMENTATION.MOTOROLA_68K_MACHINE.OS2000_11_0_6


       1.2.  Changed Predefined Units

       The  predefined  units  themselves  have  not  changed, but their
       location has.  See Section 17, "Code  Views  and  the  Predefined
       Subsystem," for more information.


       2.  Status of Software Problems in This Release


       2.1.  Reported Problems Fixed

       *  0-0251-6
          The compiler now deals more efficiently with constant strings.

       *  1181016-Shei-Lsj
          Internal_error  -  float constant out of range.  This has been
          fixed.

       *  4814499-Etoi-Kjm
          Pragma Pack on unconstrained arrays of  booleans  caused  code
          generation error.  This has been fixed.

       *  5307212-Stan-Mv
          There  were problems when declaring subtypes of short integer.
          This has been fixed.

       *  721413-Etoi-Mv
          Internal error during phase: LAB.  This has been fixed.

       *  9883117-Etoi-Mv
          The code generator caused an error when it encountered certain
          combinations  of  multiply  nested  loops and case statements.
          This has been fixed.

       *  9723630-0104-6
          Support for pragma Inline in compilation tools.  Comp.Make now
          codes  bodies  as quickly as possible after the spec.  This is
          not a full solution, but makes the problems much  less  likely
          to occur.

       *  0-0248-9
          Combined  views  required  because  of  inlining and generics.
          Since shared-code generics are no longer proscribed from  spec
          views, it is now feasible to use spec-load subsystems with the

       2                                       October 1992     RATIONAL\f

                                                        Rev7_2_2 Release


          Mc68020_Os2000 target.  Inlining subprogram calls through spec
          views  is  not supported, but this does not prevent the use of
          spec-load subsystems.

       *  9723630-0022-1
          Instantiation in limited private task  type.   Fixed  in  this
          release.

       *   9723630-0120-2
          Slow        compilation        and        linking.         The
          Cross_Cg.Linker_Generate_Map switch can now be used to control
          whether  a  link  map file is generated when a main program is
          coded.

       *  2887093-Shei-Jst
          Middle pass problem with  spliced  contexts.   Fixed  in  this
          release.

       *  5003830-Euse-Lsj
          Constraint   Error   is   no   longer  raised  when  compiling
          Nosc.Speller.

       *  1680472-Shei-Lsj
          Constraint Error in stmt_gen.gen_stmt.  This has been fixed.

       *  4031776-Shei-Jst
          Array inequality on packed arrays of discretes  failed.   This
          has been fixed.

       *  8518071-Etoi-Mv
          Evaluation of 3D boolean array failed.  This has been fixed.

       *  3244099-Rati-Pbk
          A  request  to  zero  only  the  portions of records which are
          unused  because  of  alignment  issues;  the  loops  that  are
          currently generated are expensive. This has been fixed.

       *  7582583-Etoi-Mv
          A   representation  clause  was  accepted  after  the  default
          determination of an entity.  Since this situation  is  illegal
          (according  to  the  LRM), this should have been flagged as an
          error.  Fixed in Delta 3.0.

       *  SPR#900515-3
          CDF Code generation error (internal error in WRI)

       *  SPR#900822-16, 900822-24
          Deadlock or crash of operating system/ada runtime

       *  SPR#900928-3
          Constraint Error when assigning integer

       *  SPR#911003-10
          Unexpected Traps


       RATIONAL     October 1992                                       3\f

       Rational Cross-Development Facility:
       M68020/OS-2000 Release Information


       *  SPR#911230-1
          Package Command_Line cannot handle long lines

       *  SPR#920130-5
          Compiler error in coding stage

       *  SPR#920203-24
          Priorities of main programs and tasks

       *  SPR#920205-2
          Rational allows pragma shared on records

       *  SPR#920305-1
          CDF Linker aborts with errors (Undefined symbol)

       *  SPR#920323-13
          Error in dead code elimination

       *  SPR#920505-17, 920522-13
          Collection sizes too large - waste of heap memory

       *  SPR#920505-23
          Elaboration fails (Array incorrectly initialized)

       *  MFP 74
          [ITX] Illegal operand combination for Am.Move

       *  MFP 73
          Program_Error in Piwg

       *  MFP 72
          runtime problem

       *  MFP 71
          [ITX] E-Stack underflow

       *  MFP 69
          [WTR] Bad pc relative address

       *  MFP 68
          [WTR] Compiler capacity exceeded

       *  MFP 67
          [MID] in Decl_Gen.Gen_Decl - Constraint_Error (Null Access)

       *  MFP 66
          [MID]            Access_Gen.Operations.Unchecked_Deallocation:
          Formal_Private_Class.

       *  MFP 64
          [MID] Attempt to reconstruct object in current unit

       *  MFP 63
          [MID] in Stmt_Gen.Gen_Stmt - Constraint_Error (Null Access)

       4                                       October 1992     RATIONAL\f

                                                        Rev7_2_2 Release


       *  MFP 62
          Sedt runtime problem

       *  MFP 60
          [MID] in Stmt_Gen.Gen_Stmt - !Lrm.System.Assertion_Error

       *  MFP 59
          [CSE]  Internal error (Unhandled Exception => Constraint_Error
          (Array Index)

       *  MFP 58
          CDF accepts fixed point in out object, which leads to infinite
          loop and storage leak

       *  MFP 57
          [MID] in Decl_Gen.Gen_Decl - !Lrm.System.Assertion_Error

       *  MFP 55
          [MID]  in  Code_Generation.Generate  -  Constraint_Error (Null
          Access)

       *  MFP 54
          Incorrect raise of Numeric_Error

       *  MFP 53
          [MID] in Decl_Gen.Gen_Decl - Program_Error (prompt executed)

       *  MFP 53a
          ERROR [LNK] Can't process library ...

       *  MFP 51
          Debugger puts wrong indicies for arrays in record

       *  MFP 50
          [MID] in Stmt_Gen.Gen_Stmt - !Lrm.System.Assertion_Error

       *  MFP 49
          [ITX] Illegal operand combination for Am.Move.

       *  MFP 48
          [MID] Context.Enclosing_Generic_Package_Id failed.

       *  MFP 46
          [CHK] Not a valid exp_tree node

       *  MFP 45
          [ITX] Illegal operand combination for Am.Move.

       *  MFP 44
          [CHK] Null pointer.

       *  MFP 43
          [MID]   Shared   instance   subprogram   lacks   Original_Node
          attribute: 0.DN_VOID.


       RATIONAL     October 1992                                       5\f

       Rational Cross-Development Facility:
       M68020/OS-2000 Release Information


       *  MFP 42
          [CHK] Object is down-level addressed.

       *  MFP 41
          [MID]  Unexpected Diana: Types.Arrays.  Reconstruct_Array_Info
          DN_IN_ID.

       *  MFP 40
          [MID] Unexpected Diana: Types.Arrays.   Reconstruct_Array_Info
          DN_IN_ID.

       *  MFP 39
          [CHK] dot does not have a basetype

       *  MFP 38
          [MID] in Stmt_Gen.Gen_Stmt - !Lrm.System.Assertion_Error [This
          is really the same as Mfp_35]

       *  MFP 37
          [MID] in  Code_Generation.Generate  -  Constraint_Error  (Null
          Access)

       *  MFP 36
          [MID]   Shared   instance   subprogram   lacks   Original_Node
          attribute: 0.DN_VOID.

       *  MFP 35
          Unimplemented feature: Task entry  as  shared  generic  actual
          subprogram.

       *  MFP 34
          Unimplemented  feature:  Shared  generic subprogram skins over
          Unchecked Conversion

       *  MFP 33
          [ITX] Illegal address mode for Am.Add.

       *  MFP 32
          [MID]   Shared   instance   subprogram   lacks   Original_Node
          attribute: 0.DN_VOID.

       *  MFP 31
          [MID] Float_Util.Comparison_Operation: bad class.

       *  MFP 30
          WARNING   [MID]   Reconstruction  of  instantiation  base  not
          implemented

       *  MFP 29
          [MID] Unimplemented  Feature:  Tasks  in  outermost  level  of
          shared generic

       *  MFP 28
          [MID] Unimplemented Feature: In-out array objects

       6                                       October 1992     RATIONAL\f

                                                        Rev7_2_2 Release


       *  MFP 27
          [MID] Attempt to reconstruct object in current unit

       *  MFP 26
          Debugger Problem

       *  MFP 25
          [Cse] Constraint_Error (Null Access) At #41b503, #4ff

       *  MFP 23
          Bad code for variant record

       *  MFP 22
          [ITX] Exception in CODER while coding routine _RECORD ...

       *  MFP 21
          [CSE] Constraint_Error (Null Access) at #52A902, #5C6

       *  MFP 20
          Execution-time misuse of base register

       *  MFP 18
          [CSE] Constraint_Error (Type Range) at #3A4104, #4BC

       *  MFP 16
          Ada runtime traps not handled as exceptions

       *  MFP 15
          [ASY] Value for constant block does not fit element size

       *  MFP 14
          [ITX] Exception in CODER while coding routine _RECORD ...

       *  MFP 13
          [ITX] E-Stack underflow.

       *  MFP 11
          [Cse] Constraint_Error (Type Range) At #320902, #C60

       *  MFP 10
          [Itx] Attempt To Restore Spilled Register ...

       *  MFP 9
          [Lab] Constraint_Error (Null Access) At #383102, #Be6

       *  MFP 8
          [Evo] Internal Error In Phase Evo At ...

       *  MFP 7
          [Mid] Unexpected Diana: Instantiation_Checking.Get_Indices

       *  MFP 6
          [Itx] Internal Coder Stack Inconsistency



       RATIONAL     October 1992                                       7\f

       Rational Cross-Development Facility:
       M68020/OS-2000 Release Information


       *  MFP 4
          [Mid] In Stmt_Gen.Gen_Stmt - !Lrm.System.Assertion_Error

       *  MFP 1
          [Mid] In Dec_Gen.Gen_Decl Assertion_Error At #3aa902, #B09


       2.2.  Reported Problems Not Fixed in This Release

       The  following  problems  reported against previous revisions are
       not fixed in the current release:

       *  SPR#910614-1
          Memory  allocated  in  a  declare  block  is  not  reused   in
          subsequent non-overlapping declare blocks.

       *  SPR#910731-1
          Text_Io.Get_Line skips a line of input.

       *  MFP 65
          [MID]  Unimplemented Feature: Unchecked_Conversion of a formal
          private type used as a formal subprogram.

       *  MFP 54a
          The debugger can be invoked correctly, but  the  directory  of
          the program must be given as part of the name of the program.

       *  MFP 47 Debugger unable to put complex packed object

       *  MFP 24 Unimplemented Feature: Formal fixed point types

       *  MFP 19 Size representation clause failed to compile

       *  MFP 17 [WTR] Lost symbol. when coding task body

       *  MFP 12 [Chk] Object Is Down-Level Addressed.

       *  MFP 5 Representation Clause Permitted After Forcing Occurrence

       *  MFP  3  [Mid] In Decl_Gen.Gen_Decl Assertion_Error At #3abd02,
          #C9

       *  MFP 2 Undefined Symbol Referenced During Link Time


       2.3.  Other Issues Not Dealt With in This Release

       This section contains suggestions and errors  that  need  further
       clarification or evaluation.

       *  9723630-0020-9, 9723630-0067-2, SPR#890627-3, SPR#980731-3
          Odd  length  of  modules.   Will  be  considered  for a future
          release.


       8                                       October 1992     RATIONAL\f

                                                        Rev7_2_2 Release


       *  4815206-Etoi-Kjm
          Stack usage for main programs  have  changed  radically.   The
          scheme  for  determining the size of discriminated records was
          improved, causing an object which used to be allocated on  the
          heap  to  be  allocated on the stack.  It appears from the PRS
          that the customer has a tool which thinks that this storage is
          never assigned to, although the generated code does seem to be
          doing the assignment.  This may no longer be a problem.

       *  0-0215-1
          Warning messages "Tree_Check_Error" still remain.  Waiting for
          test case from customer.

       *  9723630-0105-1
          An  assignment  statement  that  doesn't  work.  This  is  not
          reproduceable.  Waiting for test case from customer.

       *  SPR#881116-1
          Minimize run-time library checks of linker command file

       *  SPR#881212-2
          Error path starting at /h0 costs memory

       *  SPR#881222-3
          Add option "CPU" to Debug.Invoke

       *  SPR#890509-1
          Debugger support for tuning heap and stack sizes

       *  SPR#890518-2
          Incremental change of pragma main


       3.  Changes and New Features

       The following features have been changed or added.  Consult  your
       Rational technical representative for more details.


       3.1.  Improvements in Compiler Operation


       3.1.1.  Incremental Changes

       Support   for   incremental  operations  has  been  improved;  in
       particular, the user may now make incremental  changes  in  coded
       package  specifications.   As  a result, the OS-2000 compiler now
       supports all  incremental  operations  provided  by  the  R1000's
       native compiler.







       RATIONAL     October 1992                                       9\f

       Rational Cross-Development Facility:
       M68020/OS-2000 Release Information


       3.1.2.  Compile-Time Improvements

       Compile-time  when  handling  floating  point  literals  has been
       greatly reduced.  This is especially  visible  with  large  array
       aggregates consisting of float literals.

       The  Build_Conflict_Graph  algorithm  now  runs 2ver fewer nodes,
       which improves performance because it is an O(N)  algorithm.

       Several expensive optimizer algorithms were  improved  to  reduce
       compile times.

       The  assembly-code  writer  has been replaced with an object-code
       writer.  This eliminates the step of running the assembler, which
       was  previously  a bottleneck in the code generation process, and
       results in a substantial  reduction  in  compile  time.   If  the
       Cross_Cg.Asm_Listing  switch  is  set  to True, a listing file is
       generated by running the assembly-code writer in addition to  the
       object-code writer.


       3.1.3.  More Efficient Use of Compiler Streams

       Invocations  of  the  CDF  back ends have always been serialized;
       that  is,  each  compiler  stream  can  only  handle   a   single
       compilation  at  a  time.   This is still true, but it is now the
       case  for  main  programs  that   the   serialization   lock   is
       relinquished  as  soon as the linker is invoked.  This means that
       the compilation stream on which a main program is being coded  is
       freed  for  another compilation as soon as the linker is invoked,
       rather than after it completes.


       3.1.4.  Address Clause Support

       Support for address clauses on objects has been improved:

       *  The address need not be determinable at compile  time  if  the
          object is an array or record.

       *  Addresses  clauses may now be used on arrays and records whose
          size is not determinable at compile time.

       The address given in the address clause must be  determinable  at
       compile  time  unless the specified object is an array or record,
       in which  case  the  address  may  be  dynamic.   An  address  is
       considered  to  be  determinable at compile time only if it takes
       the form of a  call  to  System.To_Address  with  a  compile-time
       determinable argument.

       An  object  may not have both pragma Import_Object and an address
       clause.



       10                                      October 1992     RATIONAL\f

                                                        Rev7_2_2 Release


       An address clause with a static address will cause the object  to
       be  addressed  using  absolute  addressing.  Pragma Import_Object
       will cause the object  to  be  addressed  A5-relative,  with  the
       linker resolving the external symbolic name to get the offset.

       An  object  having  an  address  clause is NOT subject to default
       initialization unless this is explicitly requested  using  pragma
       Initialize.  Pragma Initialize has the following format:

       pragma INITIALIZE(simple_name);

       This pragma causes the imported or address-claused object denoted
       by simple_name to become subject to default initialization.

       The parameter to pragma Initialize, simple_name,  must  denote  a
       variable  declared  earlier  in  the  same declarative part.  The
       variable must be an array or record  and  must  have  an  address
       clause   or   pragma  Import_Object  applied  to  it  before  the
       occurrence of pragma Initialize.  The object  must  not  have  an
       explicit initial value.


       3.1.5.  <Elab_Order_Listing> file

       If  the  Cross_Cg.Elab_Order_Listing  switch  is set to True, the
       Os2000 CDF now generates an <Elab_Order_Listing> file when a main
       program body is coded.  This file consists of a list of the fully
       qualified names of the units in the closure of the main  program,
       listed  in the order of their elaboration. The file also includes
       comments indicating how  a  unit  came  to  be  included  in  the
       closure.  The  format  of  this  file  is  suitable for use as an
       indirect file in a naming expression, although names of any units
       out of code views will not be resolvable.

       When   the   main   program   is   demoted   to   installed,  the
       <Elab_Order_Listing> file is destroyed.


       3.1.6.  Object-Module Converter

       The object-module converter is now run automatically as  part  of
       coding  a main program, generating an <Os2000> file.  When a main
       program is demoted from coded to installed, the <Os2000> file  is
       automatically deleted.

       Since  the  <Os2000>  file  is  now  automatically generated, the
       compiler no longer creates a <Exe> file  by  default.   An  <Exe>
       file  can  be  created  by  setting the Cross_Cg.Produce_Full_Exe
       switch to true.







       RATIONAL     October 1992                                      11\f

       Rational Cross-Development Facility:
       M68020/OS-2000 Release Information


       3.2.  Improvements in Generated Code

       Compiler code generation has been improved in the following areas
       (among others):

       *  The  propagation  of constraint information has been improved.
          This improves the  elimination  of  unnecessary  overflow  and
          constraint checks.

       *  To  reduce  overall  register  costs, the allocation of common
          subexpressions has been integrated with that of other objects.

       *  The allocation of volatile registers has been improved.   This
          increases   the   number  of  opportunities  for  stack  frame
          elimination when the debugging level is PARTIAL or NONE.

       *  Object preferencing has been improved, reducing the number  of
          move instructions.

       *  Processing  of  case statements by the optimizer has been much
          improved.  The optimizer chooses from a  number  of  different
          techniques  to  implement  each  case  statement, depending on
          factors such as its size and  density.   Different  techniques
          are  combined when appropriate, for example to handle a large,
          generally sparse case statement having small regions  of  high
          density.

       *  Constant  folding  has  been expanded. In particular, constant
          folding of floating point expressions has been improved.


       3.3.  Shared-Code Generics

       Users may request that all  instantiations  of  a  given  generic
       share  the  same general code, that all instantiations of a given
       generic have their own custom code, or that all instantiations by
       default  share  the  same  code but that specified instantiations
       have  their  own  code.   Two  new  pragmas,  Generic_Policy  and
       Instance_Policy,  are used to specify the manner in which code is
       to be generated for generics.


       3.3.1.  Pragma Generic_Policy

       pragma GENERIC_POLICY ([GENERIC_UNIT =>] simple_name,
                              [CODE =>] REPLICATED | SHARED)

       The simple name must denote a generic package or subprogram.

       The pragma and the declaration of the named  generic  must  occur
       immediately   within   the   same  declarative  part  or  package
       specification; the generic  declaration  must  occur  before  the
       pragma.   Only  one  Generic_Policy  pragma  may  be applied to a
       generic.

       12                                      October 1992     RATIONAL\f

                                                        Rev7_2_2 Release


       The pragma  specifies  how  code  should  be  generated  for  the
       generic.   If  the  Shared  option  is  selected,  code  will  be
       generated for the generic itself; this code will be used for  all
       instantiations  of  the  generic (except as noted below).  If the
       Replicated option is selected, code will not be generated for the
       generic,  but  rather for each instantiation of the generic.  The
       replicated code for an instantiation will be smaller  and  faster
       than the shared code for the corresponding generic.

       Demoting the body of a replicated generic to installed causes all
       instantiations of that generic to also be demoted  to  installed,
       whereas  demoting  the body of a shared generic to installed does
       not cause demotion of any instantiations (except those that  were
       explicitly made replicated using pragma Instance_Policy).

       If  pragma  Generic_Policy is not specified, the compiler decides
       between Shared and Replicated.  At present, the default is always
       Replicated.

       Replicated generics are not permitted in spec views (therefore, a
       generic in a spec view must also have  a  generic  policy  pragma
       specifying  that  the  code is to be shared).  The generic policy
       must be the same for corresponding generics in a  load  view  and
       spec  view.   This  is  currently not enforced, so care should be
       taken to ensure that all generics which appear in a spec view are
       implemented as shared-code generics.

       To  simplify  the  rules  for  spec/load  view compatibility, and
       because complete control is afforded by the pragmas defined here,
       pragma  Optimize does not play a role in selecting between shared
       and replicated code.


       3.3.2.  Pragma Instance_Policy

       When a policy of shared has been selected for a generic, the user
       may still wish for certain instantiations to have replicated code
       for performance reasons.  Pragma Instance_Policy allows  this  to
       be specified for a particular instantiation.

       pragma INSTANCE_POLICY ([INSTANTIATION =>] simple_name,
                               [CODE =>] REPLICATED)

       The  simple name must denote an instantiation of a generic (which
       may be either shared or replicated).

       The pragma and the declaration of the  named  instantiation  must
       occur  immediately  within  the  same declarative part or package
       specification; the instantiation must occur  before  the  pragma.
       If   the   simple_name   names   several   overloaded  subprogram
       instantiations  in  the  current  declarative  part  or   package
       specification,  the  pragma  applies  to  all  of them.  Only one
       Instance_Policy pragma may be applied to a single instantiation.



       RATIONAL     October 1992                                      13\f

       Rational Cross-Development Facility:
       M68020/OS-2000 Release Information


       The pragma is ignored if the instantiation refers to a generic in
       a spec view.


       3.3.3.  Shared-Code Generic Features

       The following subset of shared-code generic features is supported
       in this release:

       *  Formal floating point types

       *  Formal private and limited private types

       *  Formal access types

       *  Formal subprograms

       *  Formal objects of mode IN

       *  Formal arrays

       *  Formal discrete and integer types

       *  Formal scalar objects of mode IN OUT

       *  Formal nondiscriminated record objects of mode IN OUT

       *  Formal array objects of mode IN OUT

       *  Generics (shared  or  replicated)  nested  immediately  within
          shared generic packages

       *  Subunits, and subunits of subunits

       A  Generic_Policy pragma with a policy of Shared will be rejected
       of the generic has any of the following formal parameters:

       *  Formal fixed point types

       *  Formal discriminated private and limited private types

       *  IN OUT discriminated objects

       *  IN OUT formal private or limited private objects

       Exceptions declared in shared generics are not  handled  strictly
       correctly.   The  Ada  language  requires that such exceptions be
       replicated for each instantiation (as happens  naturally  when  a
       macro-expansion  technique  is  used);  at the present time, this
       does not occur for shared generics.

       There is a temporary restriction on the use of  bodiless  library
       unit  generic  packages.  Use of this construct will result in an
       error at code generation time.

       14                                      October 1992     RATIONAL\f

                                                        Rev7_2_2 Release


       The temporary restriction  concerning  the  declaration  of  task
       types  and objects in shared generic package specs and bodies has
       been removed; such declarations will now be correctly processed.


       3.3.4.  Guidelines for Using Shared Code Generics

       This section discusses the  performance  impact  of  shared  code
       generics  and offers some suggestions on when to use them and how
       to optimize performance when they are used.  In  general,  shared
       code  generics  will  be  less  time  efficient  than  replicated
       generics, but will often be  more  space  efficient  as  well  as
       permitting  the  spec of the generic to be placed in a spec view.
       The code is less efficient because code is  generated  to  handle
       all  the  parameters  with  which  a generic can be instantiated,
       rather than only the code necessary for the  specific  parameters
       which  are  available  at  the instantiation site (where code for
       replicated generics is generated).   Shared  generics  must  also
       manage  the state of a generic package (i.e., objects declared in
       the package).  This is always less efficient, since  it  requires
       an  extra  level of indirection, and sometimes more than one.  In
       general, shared  code  generics  will  be  more  space  efficient
       because  code  will only be generated once rather than at each of
       the  instatiation  sites,  but  only   if   there   are   several
       instantiations of the generic (it is always more efficient to use
       replicated generics if there is only one instantiation).

       It is also possible that a shared code generic will allocate more
       heap or stack than the same generic replicated.  This occurs when
       the  shared  generic  needs  to  allocate  space  but  has   less
       information  about how much space to allocate than it would if it
       were replicated.  For instance, suppose a generic has a formal in
       object  which  is used as a bound in an array.  If the generic is
       replicated, the compiler may be aware of the value that has  been
       give  to  the  object,  in  which case it will allocate the array
       statically.  If the generic is shared, however, the array must be
       allocated  dynamically,  since  the  compiler  must generate code
       without knowing the bounds of the array.  Whether more space will
       be  used because of a given generic depends heavily on what kinds
       of generic parameters it takes, so here is a type by type list of
       some of the effects.

       *  Formal Floating Point Types
          All  simple objects of a formal floating point type will cause
          more stack space to be allocated, since the compiler allocates
          enough  space  to store a double-word value.  Arrays of formal
          floats will be only as long as is needed,  but  they  will  be
          dynamic  in all cases, since the size of the element cannot be
          known at compile time.

       *  Formal Subprograms
          All formal subprograms are implemented by passing  a  compiler
          generated  subprogram  which  does any needed type conversions
          and then calls the actual subprogram.  They have little effect
          on  the  stack  or  heap used, although they do cause an extra

       RATIONAL     October 1992                                      15\f

       Rational Cross-Development Facility:
       M68020/OS-2000 Release Information


          stack frame to be allocated.

       *  Formal Access Types
          No extra space is allocated for an object of a  formal  access
          type,  but  extra  master  layers may be created in some cases
          where we are unable to tell whether  the  access  type  is  an
          access to a task type.

       *  Formal Objects of Mode IN
          Formal  IN objects have no significant effect on the amount of
          space allocated.

       *  Formal Arrays
          Formal arrays cause little difference in the amount  of  space
          allocated on either heap or stack.

       *  Formal Private Types
          Formal  private types can incur much more overhead with shared
          code generics than with replicated generics.  This is  because
          the  compiler  must  now allow for the possiblity of any type.
          In general, objects of a formal private type will be allocated
          a  single  word  on the stack.  If the actual type is a simple
          type (i.e. a scalar), the  word  will  contain  the  value  of
          object.   If  the  actual  type is more complex, the word will
          point to  another  object  allocated  dynamically  which  will
          contain  the  actual  data, or possibly more pointers to other
          dynamic objects.  With  this  scheme,  little  more  space  is
          allocated  that  is necessary, but space which would have been
          on the stack in a replicated generic  will  now  be  allocated
          dynamically, sometimes on the heap.  Also, since pointers must
          be dereferenced (in some cases a chain  of  pointers  must  be
          followed),  operations  on formal private types will be slower
          than in replicated generics.  In many cases, runtime calls are
          made  to perform operations (e.g., equality tests, assignment,
          function return of formal privates, etc).

       *  Formal Discrete and Integer Types
          The only effect of formal discrete and integer types  is  that
          some  arrays  which  would be allocated statically will become
          dynamic.

       *  Formal Scalars of Mode IN OUT
          In out objects cause little change  in  the  amount  of  space
          allocated.

       With all types an effort has been made to ensure that shared code
       generics behave in the same way as the  same  generic  does  when
       replicated,  including  raising  the  same  errors  at  the  same
       locations.  The only exception to this is that in some cases with
       formal floating point types Constraint_Error will be raised where
       Numeric_Error was previously raised.




       16                                      October 1992     RATIONAL\f

                                                        Rev7_2_2 Release


       3.4.  Code Views and the Predefined Subsystem

       Prior to this  release,  code  views  could  not  be  transferred
       between  machines  because the link names of the predefined units
       (e.g. system) were not the same on different machines.  This  has
       been  corrected  by  placing  the predefined units in a subsystem
       view called !Targets.Predefined.  As a  result,  new  models  are
       required which point to the new predefined units.

       This  new  organization  permits  worlds which were compiled with
       previous compilers to coexist on the  same  machine  with  worlds
       compiled  with  the  new  compiler.   Note, however, that modules
       produced by one version of the compiler  cannot  be  linked  with
       modules produced by another version.

       Existing  subsystem  views  which are to be compiled with the new
       compiler must have their models replaced.   The  links  in  other
       worlds  must  be changed to point to the new predefined units.  A
       tool is provided with this release which  will  demote  units  in
       existing worlds and update these worlds for the Rev7_2 compiler -
       see the installation notes for more details.


       3.5.  Other New Features


       3.5.1.  Pragma Assert

       pragma ASSERT([Predicate =>] boolean_expression
                     [, [Class =>] integer_expression]);

       When the pragma is encountered, boolean_expression is  evaluated.
       If    the    resulting    value    is    FALSE,   the   exception
       System.Assertion_Error is raised; otherwise, no further action is
       taken.   If  System.Assertion_Error is not defined, Program_Error
       is raised instead.

       The integer_expression is ignored; for the moment, it is  allowed
       only for compatibility with the R1000 Ada code generator.

       This  pragma may appear wherever a statement or declaration would
       be legal.


       3.5.2.  Pragma Collection_Policy

       The pragma Collection_Policy can be  used  to  customize  storage
       management.  The complete syntax for this pragma is:

       pragma COLLECTION_POLICY (Access_Type => access_type,
                                 Initial_Size => integer_expression
                                 [, Extensible => boolean_expression]
                                 [, Extension_Size =>
       integer_expression]);


       RATIONAL     October 1992                                      17\f

       Rational Cross-Development Facility:
       M68020/OS-2000 Release Information


       This  pragma  must  appear  in the same declarative region as the
       access type that it applies to, and the access type's  full  type
       declaration  must occur before the pragma.  This implies that, in
       order to use a private type for  the  Access_Type  argument,  the
       pragma  must  be  given  in  the  private part after the complete
       access-type declaration.  At most one such pragma is allowed  for
       a given access type.

       The Collection_Policy pragma is ignored when:

       *  a  `Storage_Size  clause is given for the access type; in this
          case, the Storage_Size takes precedence.  This  is  because  a
          statement of the form:

          for X'Storage_Size use size;

          is equivalent to:

          pragma Collection_Policy (Access_Type => X,
                                    Initial_Size => size,
                                    Extensible => False);

       *  the  pragma  follows  a  forcing occurrence of the access type
          (LRM 13.1.6).

       Access_Type  and  Initial_Size  are  required.   Extensible   and
       Extension_Size  are  optional.   All  arguments must be specified
       using named  association,  as  shown  in  all  examples  in  this
       pragma's discussion.

       If  Extensible  is  False,  the  collection is nonextensible.  If
       Extensible is True, which is the default if not  specified,  then
       the  collection  will  be extended by a certain number of storage
       units when it fills up, if it is possible to do so.   The  number
       of  storage  units in the extension size is chosen by the runtime
       system unless the Extension_Size is specified.

       Extension_Size allows the user to specify the number  of  storage
       units  to  be  allocated  whenever  the  collection  needs  to be
       extended.  This parameter is ignored if Extensible is False.

       Initial_Size gives the size in storage units  of  the  collection
       created  at  the  point  of  the  type declaration.  If no pragma
       Collection_Policy is used, the initial size of the collection  is
       determined by the runtime system.  A nonpositive Initial_Value on
       a nonextensible collection raises the Storage_Error exception  in
       the situations described below.  Currently,

       for X'Storage_Size use 0;

       means  that  no  collection  should  be  created for X.  The same
       effect is achieved with pragma Collection_Policy by giving:



       18                                      October 1992     RATIONAL\f

                                                        Rev7_2_2 Release


       pragma Collection_Policy (Access_Type => X,
                                 Initial_Size => 0,
                                 Extensible => False);

       In both of the above cases, an attempt to use an  allocator  will
       result  in  a  Storage_Error  exception.  However, you could also
       say:

       pragma Collection_Policy (Access_Type => x,
                                 Initial_Size => 0,
                                 Extensible => True,
                                 Extension_Size => 100);

       which means "do not create a collection until  an  allocation  is
       performed."  When the first allocator is executed, the collection
       is created with the extension size.


       3.5.3.  New Attribute: 'Homogeneous

       Applicable to an access type; yields a Boolean value.  The  value
       returned is False if the designated type given in the access type
       declaration is an unconstrained array type  or  an  unconstrained
       discriminated record type, and True otherwise.

       If the attribute is True, then all objects in the collection must
       have the same size. The converse, however, is not true.

       Note that the attribute is a property of the  type,  not  of  the
       subtype.    Thus,   for   any  access  type  T,  T'Homogeneous  =
       T'Base'Homogeneous.

       For example:

           type T1 is access String;
           type T2 is new T1 (1 .. 10);  -- T2'Homogeneous = False

       At the implementation level, the attribute indicates  whether  or
       not  constraint  information  needs  to  be stored with allocated
       objects.


       3.5.4.  Object Writer

       The compiler now generates an object file directly.   Previously,
       the compiler generated an assembly file and invoked the assembler
       to obtain an object file.  This change results in code generation
       times  that  are approximately 25% faster.  As a consequence, the
       Cross_Cg.Asm_Source switch is now obsolete. To obtain an assembly
       listing, use the Cross_Cg.Listing switch.






       RATIONAL     October 1992                                      19\f

       Rational Cross-Development Facility:
       M68020/OS-2000 Release Information


       3.5.5.  Elaboration Checks

       The  CDF  now  supports  the Suppress_Elaboration_Objects switch,
       which eliminates all elaboration objects and the code to test and
       set  them.   When  this  new  switch is set to true, the compiler
       behaves as if the user had inserted:

           pragma Suppress (Elaboration_Check, On => Snaggle);

       for each subprogram 'snaggle' in each  compilation  unit  in  the
       library.  This significantly reduces the amount of initialization
       code in Ada units.

       Because the prelinker guarantees that  spec/load  subsystems  are
       elaborated  in  layers,  the compiler never generates elaboration
       checks on cross-subsystem calls to subprograms that are  imported
       via  a  spec  view.   Due  to  this, it is not necessary that the
       Suppress_Elaboration_Objects  switch  have  the  same  value   in
       corresponding spec and load views.

       Elaboration   objects  for  generics  are  NOT  affected  by  the
       Suppress_Elaboration_Objects switch.

































       20                                      October 1992     RATIONAL\f

                                                        Rev7_2_2 Release


                                   Contents


       1.  Overview                                                    1
          1.1.  Views in This Release                                  1
          1.2.  Changed Predefined Units                               2
       2.  Status of Software Problems in This Release                 2
          2.1.  Reported Problems Fixed                                2
          2.2.  Reported Problems Not Fixed in This Release            8
          2.3.  Other Issues Not Dealt With in This Release            8
       3.  Changes and New Features                                    9
          3.1.  Improvements in Compiler Operation                     9
             3.1.1.  Incremental Changes                               9
             3.1.2.  Compile-Time Improvements                        10
             3.1.3.  More Efficient Use of Compiler Streams           10
             3.1.4.  Address Clause Support                           10
             3.1.5.  <Elab_Order_Listing> file                        11
             3.1.6.  Object-Module Converter                          11
          3.2.  Improvements in Generated Code                        12
          3.3.  Shared-Code Generics                                  12
             3.3.1.  Pragma Generic_Policy                            12
             3.3.2.  Pragma Instance_Policy                           13
             3.3.3.  Shared-Code Generic Features                     14
             3.3.4.  Guidelines for Using Shared Code Generics        15
          3.4.  Code Views and the Predefined Subsystem               17
          3.5.  Other New Features                                    17
             3.5.1.  Pragma Assert                                    17
             3.5.2.  Pragma Collection_Policy                         17
             3.5.3.  New Attribute: 'Homogeneous                      19
             3.5.4.  Object Writer                                    19
             3.5.5.  Elaboration Checks                               20

























       RATIONAL     October 1992                                     iii\f

       Rational Cross-Development Facility:
       M68020/OS-2000 Release Information

























































       iv                                      October 1992     RATIONAL\f

%!PS-Adobe-2.0
%%Title: !DOCUMENTATION.RELEASE_NOTES.CROSS_DEVELOPMENT_FACILITIES.DEVEL_WORKING.UNITS.MC68020_OS2000_7_2_2'V(29)
%%Creator: COMPOSE 10.7.12
%%CreationDate: October 27, 1992 at 12:25:31 PM
%%For: GREGW
%%Pages: (atend)
%%DocumentFonts: (atend)
%%EndComments
/SelectFont {findfont exch dup neg 0 0 3 -1 roll 0 0 MAT astore makefont setfont} bind def
/BeginPage {/State save def /INITIAL-MATRIX matrix currentmatrix def 1 -1 scale 0.5 setlinewidth} bind def
/PositionPage {{-90 rotate pop} {0 exch neg translate} ifelse} bind def
/EndPage {State restore showpage} def
/WS {0 32 4 -1 roll widthshow} bind def
/MX {0 rmoveto} bind def
/LTAB {gsave exch (.) stringwidth pop sub exch {dup 2 div dup 0 rmoveto (.) show 0 rmoveto} repeat pop grestore} bind def
/MAT matrix def
/FINDSCALE {gsave newpath 0 0 moveto (X) false charpath
flattenpath pathbbox /CAPHEIGHT exch def pop pop pop newpath 0 0 moveto
(x) false charpath flattenpath pathbbox /XHEIGHT exch def pop pop pop
grestore XHEIGHT CAPHEIGHT XHEIGHT sub 3 div add CAPHEIGHT div } bind def
/CAP-ENCODING [ StandardEncoding aload pop ] def
8#141 1 8#172 {CAP-ENCODING exch dup 1 string dup 0 4 -1 roll 8#40 sub put cvn put} for
/COPYFONT {dup length dict /TMPDICT exch def {1 index /FID ne {TMPDICT 3 1 roll put} {pop pop} ifelse } forall TMPDICT }bind def
/SYM {save exch /newfont currentfont maxlength dict def currentfont
{exch dup /FID ne {dup /Encoding eq {exch dup length array copy newfont 3 1 roll put}
{exch newfont 3 1 roll put} ifelse } {pop pop} ifelse} forall
newfont /Encoding get 8#377 3 -1 roll put /NEWFONT newfont definefont setfont
(\377) show restore} bind def
%%EndProlog
%%Page: 1 1
BeginPage
792 false PositionPage
72 72 moveto
20 /Palatino-Roman SelectFont
( ) show
140.550 328 moveto
(Rational Cross-Development Facility:) show
229.040 350 moveto
(M68020/OS-2000) show
217.090 372 moveto
(Release Information) show
228.180 416 moveto
(Rev7_2_2 Release) show
72 756 moveto
10 /Palatino-Roman SelectFont
( ) show
EndPage
%%Page: 2 2
BeginPage
792 false PositionPage
72 72 moveto
10 /Palatino-Roman SelectFont
( ) show
72 144 moveto
(Copyright ) show
/copyright SYM 7.470 MX
( 1992 by Rational) show
72 192 moveto
(Part Number: 508-003218-007) show
72 216 moveto
(October 1992 \050Software Release Rev7_2_2\051) show
72 600 moveto
9 /Palatino-Roman SelectFont
(Motorola is a registered trademark of Motorola, Inc.) show
72 622 moveto
(Rational is a registered trademark and Rational Environment is a trademark of Rational.) show
287.480 682 moveto
10 /Palatino-Roman SelectFont
(Rational) show
259.660 694 moveto
(3320 Scott Boulevard) show
229.255 706 moveto
(Santa Clara, California  95054-3197) show
72 756 moveto
( ) show
EndPage
%%Page: 1 3
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
390.180 MX
(Rev7_2_2 Release) show
72 76 moveto
15 /Palatino-Bold SelectFont
(1.  Overview) show
72 100 moveto
11 /Palatino-Roman SelectFont
(Rev7_2_2 is a release of the) 0.700 WS
3.449 MX
(Rational M68020/OS-2000 Cross-Development Facility \050CDF\051. This) 0.699 WS
72 113 moveto
(release note lists new features added, problems fixed, and problems) 0.820 WS
3.571 MX
(still outstanding since the) 0.821 WS
72 126 moveto
(previous release of the CDF.) show
72 150 moveto
(The main features of this release are:) show
72 174 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Support for shared-code generics) show
72 192 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Support for spec/load views) show
72 210 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Support for code views) show
72 228 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Integration with "Program_Library" facilities, providing faster prelinking) show
72 246 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Reduced compilation times) show
72 264 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Object files are now generated directly by the compiler) show
72 288 moveto
(This release REQUIRES environment release D_12_4_7 or later.) show
72 312 moveto
(This release generates code that) 0.038 WS
2.787 MX
(is incompatible with code generated by previous versions of the) 0.037 WS
72 325 moveto
(CDF.) show
72 363 moveto
13 /Palatino-Bold SelectFont
(1.1.  Views in This Release) show
72 387 moveto
11 /Palatino-Roman SelectFont
(This release includes the following views:) show
72 411 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.MC68020_OS2000_DEBUGGERS.REV11_SPEC) show
72 429 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.MC68020_OS2000_DEBUGGERS.REV11_0_3) show
72 447 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.MC68020_OS2000_TARGET.REV11_SPEC) show
72 465 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.MC68020_OS2000_TARGET.CODE11_0_3) show
72 483 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.MOTOROLA_68K.REV7_2_SPEC) show
72 501 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.MOTOROLA_68K.CODE7_2_20) show
72 519 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.MOTOROLA_68K_HOST.REV11_5_SPEC) show
72 537 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.MOTOROLA_68K_HOST.CODE_REV7_13) show
72 555 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.MOTOROLA_68K_TRANSFER.REV3_SPEC) show
72 573 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.MOTOROLA_68K_TRANSFER.REV3_1_1) show
72 591 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.OBJECT_CONVERSION.REV7_2_SPEC) show
72 609 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.OBJECT_CONVERSION.CODE7_2_0) show
72 627 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.OBJECT_MODULE.REV7_2_SPEC) show
72 645 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.OBJECT_MODULE.CODE7_2_0) show
72 663 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.MC68020_OS2000_RUNTIMES.REV7_2_3) show
72 681 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(!TARGETS.IMPLEMENTATION.MOTOROLA_68K_MACHINE.OS2000_11_0_6) show
72 756 moveto
17 /AvantGarde-Book SelectFont
(RATIONAL) show
10 /Palatino-Roman SelectFont
(     October 1992) show
310.940 MX
(1) show
EndPage
%%Page: 2 4
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
(Rational Cross-Development Facility:) show
72 48 moveto
(M68020/OS-2000 Release Information) show
72 86 moveto
13 /Palatino-Bold SelectFont
(1.2.  Changed Predefined Units) show
72 110 moveto
11 /Palatino-Roman SelectFont
(The predefined units themselves have not changed, but their location has. See Section 13,) 0.126 WS
2.877 MX
(\252Code) show
72 123 moveto
(Views and the Predefined Subsystem,\272 for more information.) show
72 163 moveto
15 /Palatino-Bold SelectFont
(2.  Status of Software Problems in This Release) show
72 201 moveto
13 /Palatino-Bold SelectFont
(2.1.  Reported Problems Fixed) show
72 225 moveto
11 /Palatino-Roman SelectFont
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(0-0251-6) show
96 238 moveto
(The compiler now deals more efficiently with constant strings.) show
72 256 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(1181016-Shei-Lsj) show
96 269 moveto
(Internal_error - float constant out of range. This has been fixed.) show
72 287 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(4814499-Etoi-Kjm) show
96 300 moveto
(Pragma Pack on unconstrained arrays of booleans caused code generation error.) 0.922 WS
3.671 MX
(This has) 0.921 WS
96 313 moveto
(been fixed.) show
72 331 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(5307212-Stan-Mv) show
96 344 moveto
(There were problems when declaring subtypes of short integer. This has been fixed.) show
72 362 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(721413-Etoi-Mv) show
96 375 moveto
(Internal error during phase: LAB. This has been fixed.) show
72 393 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(9883117-Etoi-Mv) show
96 406 moveto
(The code generator caused an error) 0.616 WS
3.367 MX
(when it encountered certain combinations of multiply) 0.617 WS
96 419 moveto
(nested loops and case statements. This has been fixed.) show
72 437 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(9723630-0104-6) show
96 450 moveto
(Support for pragma Inline in compilation tools. Comp.Make now codes bodies) 0.801 WS
3.550 MX
(as quickly) 0.800 WS
96 463 moveto
(as possible after the spec. This is not a) 1.542 WS
4.293 MX
(full solution, but makes the problems much less) 1.543 WS
96 476 moveto
(likely to occur.) show
72 494 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(0-0248-9) show
96 507 moveto
(Combined views required because of inlining and generics.) 0.385 WS
3.134 MX
(Since shared-code generics are) 0.384 WS
96 520 moveto
(no longer proscribed from spec views, it is now feasible to use spec-load subsystems with) 0.644 WS
96 533 moveto
(the Mc68020_Os2000 target. Inlining) 5.310 WS
8.059 MX
(subprogram calls through spec views is not) 5.309 WS
96 546 moveto
(supported, but this does not prevent the use of spec-load subsystems.) show
72 564 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(9723630-0022-1) show
96 577 moveto
(Instantiation in limited private task type. Fixed in this release.) show
72 595 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
( 9723630-0120-2) show
96 608 moveto
(Slow compilation and linking. The) 2.386 WS
5.137 MX
(Cross_Cg.Linker_Generate_Map switch can now be) 2.387 WS
96 621 moveto
(used to control whether a link map file is generated when a main program is coded.) show
72 639 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(2887093-Shei-Jst) show
96 652 moveto
(Middle pass problem with spliced contexts. Fixed in this release.) show
72 670 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(5003830-Euse-Lsj) show
96 683 moveto
(Constraint Error is no longer raised when compiling Nosc.Speller.) show
72 701 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(1680472-Shei-Lsj) show
96 714 moveto
(Constraint Error in stmt_gen.gen_stmt. This has been fixed.) show
72 756 moveto
10 /Palatino-Roman SelectFont
(2) show
308.731 MX
(October 1992    ) show
17 /AvantGarde-Book SelectFont
( RATIONAL) show
EndPage
%%Page: 3 5
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
390.180 MX
(Rev7_2_2 Release) show
72 72 moveto
11 /Palatino-Roman SelectFont
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(4031776-Shei-Jst) show
96 85 moveto
(Array inequality on packed arrays of discretes failed. This has been fixed.) show
72 103 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(8518071-Etoi-Mv) show
96 116 moveto
(Evaluation of 3D boolean array failed. This has been fixed.) show
72 134 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(3244099-Rati-Pbk) show
96 147 moveto
(A request to zero only) 1.982 WS
4.731 MX
(the portions of records which are unused because of alignment) 1.981 WS
96 160 moveto
(issues; the loops that are currently generated are expensive. This has been fixed.) show
72 178 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(7582583-Etoi-Mv) show
96 191 moveto
(A representation clause was accepted after the default determination) 1.697 WS
4.448 MX
(of an entity. Since) 1.698 WS
96 204 moveto
(this situation is illegal \050according) 0.901 WS
3.650 MX
(to the LRM\051, this should have been flagged as an error.) 0.900 WS
96 217 moveto
(Fixed in Delta 3.0.) show
72 235 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#900515-3) show
96 248 moveto
(CDF Code generation error \050internal error in WRI\051) show
72 266 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#900822-16, 900822-24) show
96 279 moveto
(Deadlock or crash of operating system/ada runtime) show
72 297 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#900928-3) show
96 310 moveto
(Constraint Error when assigning integer) show
72 328 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#911003-10) show
96 341 moveto
(Unexpected Traps) show
72 359 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#911230-1) show
96 372 moveto
(Package Command_Line cannot handle long lines) show
72 390 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#920130-5) show
96 403 moveto
(Compiler error in coding stage) show
72 421 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#920203-24) show
96 434 moveto
(Priorities of main programs and tasks) show
72 452 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#920205-2) show
96 465 moveto
(Rational allows pragma shared on records) show
72 483 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#920305-1) show
96 496 moveto
(CDF Linker aborts with errors \050Undefined symbol\051) show
72 514 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#920323-13) show
96 527 moveto
(Error in dead code elimination) show
72 545 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#920505-17, 920522-13) show
96 558 moveto
(Collection sizes too large - waste of heap memory) show
72 576 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#920505-23) show
96 589 moveto
(Elaboration fails \050Array incorrectly initialized\051) show
72 607 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 74) show
96 620 moveto
([ITX] Illegal operand combination for Am.Move) show
72 638 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 73) show
96 651 moveto
(Program_Error in Piwg) show
72 669 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 72) show
96 682 moveto
(runtime problem) show
72 700 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 71) show
96 713 moveto
([ITX] E-Stack underflow) show
72 756 moveto
17 /AvantGarde-Book SelectFont
(RATIONAL) show
10 /Palatino-Roman SelectFont
(     October 1992) show
310.940 MX
(3) show
EndPage
%%Page: 4 6
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
(Rational Cross-Development Facility:) show
72 48 moveto
(M68020/OS-2000 Release Information) show
72 84 moveto
11 /Palatino-Roman SelectFont
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 69) show
96 97 moveto
([WTR] Bad pc relative address) show
72 115 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 68) show
96 128 moveto
([WTR] Compiler capacity exceeded) show
72 146 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 67) show
96 159 moveto
([MID] in Decl_Gen.Gen_Decl - Constraint_Error \050Null Access\051) show
72 177 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 66) show
96 190 moveto
([MID] Access_Gen.Operations.Unchecked_Deallocation: Formal_Private_Class.) show
72 208 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 64) show
96 221 moveto
([MID] Attempt to reconstruct object in current unit) show
72 239 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 63) show
96 252 moveto
([MID] in Stmt_Gen.Gen_Stmt - Constraint_Error \050Null Access\051) show
72 270 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 62) show
96 283 moveto
(Sedt runtime problem) show
72 301 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 60) show
96 314 moveto
([MID] in Stmt_Gen.Gen_Stmt - !Lrm.System.Assertion_Error) show
72 332 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 59) show
96 345 moveto
([CSE] Internal error \050Unhandled Exception => Constraint_Error \050Array Index\051) show
72 363 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 58) show
96 376 moveto
(CDF accepts fixed point in out object, which leads to infinite loop and storage leak) show
72 394 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 57) show
96 407 moveto
([MID] in Decl_Gen.Gen_Decl - !Lrm.System.Assertion_Error) show
72 425 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 55) show
96 438 moveto
([MID] in Code_Generation.Generate - Constraint_Error \050Null Access\051) show
72 456 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 54) show
96 469 moveto
(Incorrect raise of Numeric_Error) show
72 487 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 53) show
96 500 moveto
([MID] in Decl_Gen.Gen_Decl - Program_Error \050prompt executed\051) show
72 518 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 53a) show
96 531 moveto
(ERROR [LNK] Can't process library ...) show
72 549 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 51) show
96 562 moveto
(Debugger puts wrong indicies for arrays in record) show
72 580 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 50) show
96 593 moveto
([MID] in Stmt_Gen.Gen_Stmt - !Lrm.System.Assertion_Error) show
72 611 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 49) show
96 624 moveto
([ITX] Illegal operand combination for Am.Move.) show
72 642 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 48) show
96 655 moveto
([MID] Context.Enclosing_Generic_Package_Id failed.) show
72 673 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 46) show
96 686 moveto
([CHK] Not a valid exp_tree node) show
72 704 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 45) show
96 717 moveto
([ITX] Illegal operand combination for Am.Move.) show
72 756 moveto
10 /Palatino-Roman SelectFont
(4) show
308.731 MX
(October 1992    ) show
17 /AvantGarde-Book SelectFont
( RATIONAL) show
EndPage
%%Page: 5 7
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
390.180 MX
(Rev7_2_2 Release) show
72 72 moveto
11 /Palatino-Roman SelectFont
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 44) show
96 85 moveto
([CHK] Null pointer.) show
72 103 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 43) show
96 116 moveto
([MID] Shared instance subprogram lacks Original_Node attribute: 0.DN_VOID.) show
72 134 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 42) show
96 147 moveto
([CHK] Object is down-level addressed.) show
72 165 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 41) show
96 178 moveto
([MID] Unexpected Diana: Types.Arrays. Reconstruct_Array_Info DN_IN_ID.) show
72 196 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 40) show
96 209 moveto
([MID] Unexpected Diana: Types.Arrays. Reconstruct_Array_Info DN_IN_ID.) show
72 227 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 39) show
96 240 moveto
([CHK] dot does not have a basetype) show
72 258 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 38) show
96 271 moveto
([MID] in) 2.092 WS
4.843 MX
(Stmt_Gen.Gen_Stmt - !Lrm.System.Assertion_Error [This is really the same as) 2.093 WS
96 284 moveto
(Mfp_35]) show
72 302 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 37) show
96 315 moveto
([MID] in Code_Generation.Generate - Constraint_Error \050Null Access\051) show
72 333 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 36) show
96 346 moveto
([MID] Shared instance subprogram lacks Original_Node attribute: 0.DN_VOID.) show
72 364 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 35) show
96 377 moveto
(Unimplemented feature: Task entry as shared generic actual subprogram.) show
72 395 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 34) show
96 408 moveto
(Unimplemented feature: Shared generic subprogram skins over Unchecked Conversion) show
72 426 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 33) show
96 439 moveto
([ITX] Illegal address mode for Am.Add.) show
72 457 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 32) show
96 470 moveto
([MID] Shared instance subprogram lacks Original_Node attribute: 0.DN_VOID.) show
72 488 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 31) show
96 501 moveto
([MID] Float_Util.Comparison_Operation: bad class.) show
72 519 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 30) show
96 532 moveto
(WARNING [MID] Reconstruction of instantiation base not implemented) show
72 550 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 29) show
96 563 moveto
([MID] Unimplemented Feature: Tasks in outermost level of shared generic) show
72 581 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 28) show
96 594 moveto
([MID] Unimplemented Feature: In-out array objects) show
72 612 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 27) show
96 625 moveto
([MID] Attempt to reconstruct object in current unit) show
72 643 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 26) show
96 656 moveto
(Debugger Problem) show
72 674 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 25) show
96 687 moveto
([Cse] Constraint_Error \050Null Access\051 At #41b503, #4ff) show
72 705 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 23) show
96 718 moveto
(Bad code for variant record) show
72 756 moveto
17 /AvantGarde-Book SelectFont
(RATIONAL) show
10 /Palatino-Roman SelectFont
(     October 1992) show
310.940 MX
(5) show
EndPage
%%Page: 6 8
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
(Rational Cross-Development Facility:) show
72 48 moveto
(M68020/OS-2000 Release Information) show
72 84 moveto
11 /Palatino-Roman SelectFont
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 22) show
96 97 moveto
([ITX] Exception in CODER while coding routine _RECORD ...) show
72 115 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 21) show
96 128 moveto
([CSE] Constraint_Error \050Null Access\051 at #52A902, #5C6) show
72 146 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 20) show
96 159 moveto
(Execution-time misuse of base register) show
72 177 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 18) show
96 190 moveto
([CSE] Constraint_Error \050Type Range\051 at #3A4104, #4BC) show
72 208 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 16) show
96 221 moveto
(Ada runtime traps not handled as exceptions) show
72 239 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 15) show
96 252 moveto
([ASY] Value for constant block does not fit element size) show
72 270 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 14) show
96 283 moveto
([ITX] Exception in CODER while coding routine _RECORD ...) show
72 301 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 13) show
96 314 moveto
([ITX] E-Stack underflow.) show
72 332 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 11) show
96 345 moveto
([Cse] Constraint_Error \050Type Range\051 At #320902, #C60) show
72 363 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 10) show
96 376 moveto
([Itx] Attempt To Restore Spilled Register ...) show
72 394 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 9) show
96 407 moveto
([Lab] Constraint_Error \050Null Access\051 At #383102, #Be6) show
72 425 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 8) show
96 438 moveto
([Evo] Internal Error In Phase Evo At ...) show
72 456 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 7) show
96 469 moveto
([Mid] Unexpected Diana: Instantiation_Checking.Get_Indices) show
72 487 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 6) show
96 500 moveto
([Itx] Internal Coder Stack Inconsistency) show
72 518 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 4) show
96 531 moveto
([Mid] In Stmt_Gen.Gen_Stmt - !Lrm.System.Assertion_Error) show
72 549 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 1) show
96 562 moveto
([Mid] In Dec_Gen.Gen_Decl Assertion_Error At #3aa902, #B09) show
72 600 moveto
13 /Palatino-Bold SelectFont
(2.2.  Reported Problems Not Fixed in This Release) show
72 624 moveto
11 /Palatino-Roman SelectFont
(The following problems reported against previous revisions are) show
11 /Palatino-Italic SelectFont
( not) show
11 /Palatino-Roman SelectFont
( fixed in the current release:) show
72 642 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#910614-1) show
96 655 moveto
(Memory allocated in) 0.820 WS
3.569 MX
(a declare block is not reused in subsequent non-overlapping declare) 0.819 WS
96 668 moveto
(blocks.) show
72 686 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#910731-1) show
96 699 moveto
(Text_Io.Get_Line skips a line of input.) show
72 756 moveto
10 /Palatino-Roman SelectFont
(6) show
308.731 MX
(October 1992    ) show
17 /AvantGarde-Book SelectFont
( RATIONAL) show
EndPage
%%Page: 7 9
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
390.180 MX
(Rev7_2_2 Release) show
72 72 moveto
11 /Palatino-Roman SelectFont
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 65) show
96 85 moveto
([MID] Unimplemented Feature: Unchecked_Conversion of) 0.476 WS
3.227 MX
(a formal private type used as a) 0.477 WS
96 98 moveto
(formal subprogram.) show
72 116 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 54a) show
96 129 moveto
(The debugger can be invoked correctly, but the directory of the program) 0.495 WS
3.244 MX
(must be given as) 0.494 WS
96 142 moveto
(part of the name of the program.) show
72 160 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 47 Debugger unable to put complex packed object) show
72 178 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 24 Unimplemented Feature: Formal fixed point types) show
72 196 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 19 Size representation clause failed to compile) show
72 214 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 17 [WTR] Lost symbol. when coding task body) show
72 232 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 12 [Chk] Object Is Down-Level Addressed.) show
72 250 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 5 Representation Clause Permitted After Forcing Occurrence) show
72 268 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 3 [Mid] In Decl_Gen.Gen_Decl Assertion_Error At #3abd02, #C9) show
72 286 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(MFP 2 Undefined Symbol Referenced During Link Time) show
72 324 moveto
13 /Palatino-Bold SelectFont
(2.3.  Other Issues Not Dealt With in This Release) show
72 348 moveto
11 /Palatino-Roman SelectFont
(This section contains suggestions and errors that need further clarification or evaluation.) show
72 366 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(9723630-0020-9, 9723630-0067-2, SPR#890627-3, SPR#980731-3) show
96 379 moveto
(Odd length of modules. Will be considered for a future release.) show
72 397 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(4815206-Etoi-Kjm) show
96 410 moveto
(Stack usage for main) 1.384 WS
4.135 MX
(programs have changed radically. The scheme for determining the) 1.385 WS
96 423 moveto
(size of discriminated records was improved, causing an object which used to be allocated) 0.790 WS
96 436 moveto
(on the heap to be allocated on the stack. It appears from) 0.946 WS
3.697 MX
(the PRS that the customer has a) 0.947 WS
96 449 moveto
(tool which thinks that this) 0.750 WS
3.499 MX
(storage is never assigned to, although the generated code does) 0.749 WS
96 462 moveto
(seem to be doing the assignment. This may no longer be a problem.) show
72 480 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(0-0215-1) show
96 493 moveto
(Warning messages "Tree_Check_Error" still remain. Waiting for test case from customer.) show
72 511 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(9723630-0105-1) show
96 524 moveto
(An assignment statement that) 1.824 WS
4.575 MX
(doesn't work. This is not reproduceable. Waiting for test) 1.825 WS
96 537 moveto
(case from customer.) show
72 555 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#881116-1) show
96 568 moveto
(Minimize run-time library checks of linker command file) show
72 586 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#881212-2) show
96 599 moveto
(Error path starting at /h0 costs memory) show
72 617 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#881222-3) show
96 630 moveto
(Add option "CPU" to Debug.Invoke) show
72 648 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#890509-1) show
96 661 moveto
(Debugger support for tuning heap and stack sizes) show
72 679 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(SPR#890518-2) show
96 692 moveto
(Incremental change of pragma main) show
72 756 moveto
17 /AvantGarde-Book SelectFont
(RATIONAL) show
10 /Palatino-Roman SelectFont
(     October 1992) show
310.940 MX
(7) show
EndPage
%%Page: 8 10
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
(Rational Cross-Development Facility:) show
72 48 moveto
(M68020/OS-2000 Release Information) show
72 88 moveto
15 /Palatino-Bold SelectFont
(3.  Changes and New Features) show
72 112 moveto
11 /Palatino-Roman SelectFont
(The following features have been changed) 5.113 WS
7.862 MX
(or added. Consult your Rational technical) 5.112 WS
72 125 moveto
(representative for more details.) show
72 163 moveto
13 /Palatino-Bold SelectFont
(3.1.  Improvements in Compiler Operation) show
72 200 moveto
12 /Palatino-Bold SelectFont
(3.1.1.  Incremental Changes) show
72 224 moveto
11 /Palatino-Roman SelectFont
(Support for) 1.003 WS
3.754 MX
(incremental operations has been improved; in particular, the user may now make) 1.004 WS
72 237 moveto
(incremental changes in coded package specifications. As) 1.749 WS
4.498 MX
(a result, the OS-2000 compiler now) 1.748 WS
72 250 moveto
(supports all incremental operations provided by the R1000's native compiler.) show
72 287 moveto
12 /Palatino-Bold SelectFont
(3.1.2.  Compile-Time Improvements) show
72 311 moveto
11 /Palatino-Roman SelectFont
(Compile-time when handling floating point literals has been greatly reduced.) 0.585 WS
3.336 MX
(This is especially) 0.586 WS
72 324 moveto
(visible with large array aggregates consisting of float literals.) show
72 342 moveto
(The Build_Conflict_Graph algorithm now runs over fewer nodes, which improves) 0.346 WS
3.095 MX
(performance) show
72 355 moveto
(because it is an O\050N\051) show
0 -2.750 rmoveto
8 /Palatino-Roman SelectFont
(2) show
11 /Palatino-Roman SelectFont
0 2.750 rmoveto
( algorithm.) show
72 373 moveto
(Several expensive optimizer algorithms were improved to reduce compile times.) show
72 391 moveto
(The assembly-code writer has been replaced) 0.191 WS
2.942 MX
(with an object-code writer. This eliminates the step) 0.192 WS
72 404 moveto
(of running the assembler, which was previously a bottleneck in the code generation) 1.521 WS
4.270 MX
(process,) show
72 417 moveto
(and results in a) 0.174 WS
2.925 MX
(substantial reduction in compile time. If the Cross_Cg.Asm_Listing switch is set) 0.175 WS
72 430 moveto
(to True,) 2.631 WS
5.380 MX
(a listing file is generated by running the assembly-code writer in addition to the) 2.630 WS
72 443 moveto
(object-code writer.) show
72 480 moveto
12 /Palatino-Bold SelectFont
(3.1.3.  More Efficient Use of Compiler Streams) show
72 504 moveto
11 /Palatino-Roman SelectFont
(Invocations of the CDF back ends have always been serialized; that is, each compiler stream) 0.144 WS
2.895 MX
(can) show
72 517 moveto
(only handle) 1.712 WS
4.461 MX
(a single compilation at a time. This is still true, but it is now the case for main) 1.711 WS
72 530 moveto
(programs that the serialization lock is relinquished as soon as the linker is) 0.380 WS
3.131 MX
(invoked. This means) 0.381 WS
72 543 moveto
(that the compilation stream on which a main program is being) 2.428 WS
5.177 MX
(coded is freed for another) 2.427 WS
72 556 moveto
(compilation as soon as the linker is invoked, rather than after it completes.) show
72 593 moveto
12 /Palatino-Bold SelectFont
(3.1.4.  Address Clause Support) show
72 617 moveto
11 /Palatino-Roman SelectFont
(Support for address clauses on objects has been improved:) show
72 635 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(The address need not be determinable at compile time if the object is an array or record.) show
72 653 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Addresses clauses may now be used on) 0.425 WS
3.176 MX
(arrays and records whose size is not determinable) 0.426 WS
96 666 moveto
(at compile time.) show
72 684 moveto
(The address given in) 2.627 WS
5.376 MX
(the address clause must be determinable at compile time unless the) 2.626 WS
72 697 moveto
(specified object is an array or record, in) 0.430 WS
3.181 MX
(which case the address may be dynamic. An address is) 0.431 WS
72 710 moveto
(considered to be determinable at compile time only if it) 4.640 WS
7.389 MX
(takes the form of a call to) 4.639 WS
72 723 moveto
(System.To_Address with a compile-time determinable argument.) show
72 756 moveto
10 /Palatino-Roman SelectFont
(8) show
308.731 MX
(October 1992    ) show
17 /AvantGarde-Book SelectFont
( RATIONAL) show
EndPage
%%Page: 9 11
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
390.180 MX
(Rev7_2_2 Release) show
72 72 moveto
11 /Palatino-Roman SelectFont
(An object may not have both pragma Import_Object and an address clause.) show
72 90 moveto
(An address clause with a static address will cause the object) 1.628 WS
4.379 MX
(to be addressed using absolute) 1.629 WS
72 103 moveto
(addressing. Pragma Import_Object will cause the object) 1.287 WS
4.036 MX
(to be addressed A5-relative, with the) 1.286 WS
72 116 moveto
(linker resolving the external symbolic name to get the offset.) show
72 134 moveto
(An object having an) 3.133 WS
5.884 MX
(address clause is NOT subject to default initialization unless this is) 3.134 WS
72 147 moveto
(explicitly requested using pragma Initialize. Pragma Initialize has the following format:) show
72 171 moveto
10 /Courier-Bold SelectFont
(pragma INITIALIZE\050simple_name\051;) show
72 195 moveto
11 /Palatino-Roman SelectFont
(This pragma causes) 0.224 WS
2.973 MX
(the imported or address-claused object denoted by simple_name to become) 0.223 WS
72 208 moveto
(subject to default initialization.) show
72 226 moveto
(The parameter to pragma Initialize, simple_name, must denote a variable declared) 0.188 WS
2.939 MX
(earlier in the) 0.189 WS
72 239 moveto
(same declarative part. The variable must be an array or record and must) 0.158 WS
2.907 MX
(have an address clause) 0.157 WS
72 252 moveto
(or pragma Import_Object applied to it) 1.654 WS
4.405 MX
(before the occurrence of pragma Initialize. The object) 1.655 WS
72 265 moveto
(must not have an explicit initial value.) show
72 302 moveto
12 /Palatino-Bold SelectFont
(3.1.5.  <Elab_Order_Listing> file) show
72 326 moveto
11 /Palatino-Roman SelectFont
(If the Cross_Cg.Elab_Order_Listing switch is set to True,) 1.749 WS
4.498 MX
(the Os2000 CDF now generates an) 1.748 WS
72 339 moveto
(<Elab_Order_Listing> file when a main program body is coded. This file consists) 0.319 WS
3.070 MX
(of a list of the) 0.320 WS
72 352 moveto
(fully qualified) 0.308 WS
3.057 MX
(names of the units in the closure of the main program, listed in the order of their) 0.307 WS
72 365 moveto
(elaboration. The file also includes comments indicating how a unit came to be included in the) 0.950 WS
72 378 moveto
(closure. The format of this file is suitable for use as an indirect file in a) 1.796 WS
4.545 MX
(naming expression,) 1.795 WS
72 391 moveto
(although names of any units out of code views will not be resolvable.) show
72 409 moveto
(When the main program is demoted to installed, the <Elab_Order_Listing> file is destroyed.) show
72 446 moveto
12 /Palatino-Bold SelectFont
(3.1.6.  Object-Module Converter) show
72 470 moveto
11 /Palatino-Roman SelectFont
(The object-module converter is now run automatically as part of) 2.734 WS
5.485 MX
(coding a main program,) 2.735 WS
72 483 moveto
(generating an <Os2000> file. When a main program is demoted from coded to installed,) 1.630 WS
4.379 MX
(the) show
72 496 moveto
(<Os2000> file is automatically deleted.) show
72 514 moveto
(Since the <Os2000> file is now automatically generated, the) 0.370 WS
3.121 MX
(compiler no longer creates a <Exe>) 0.371 WS
72 527 moveto
(file by default. An <Exe>) 0.942 WS
3.691 MX
(file can be created by setting the Cross_Cg.Produce_Full_Exe switch) 0.941 WS
72 540 moveto
(to true.) show
72 578 moveto
13 /Palatino-Bold SelectFont
(3.2.  Improvements in Generated Code) show
72 602 moveto
11 /Palatino-Roman SelectFont
(Compiler code generation has been improved in the following areas \050among others\051:) show
72 620 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(The propagation of constraint information has been improved. This improves) 4.922 WS
7.673 MX
(the) show
96 633 moveto
(elimination of unnecessary overflow and constraint checks.) show
72 651 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(To reduce overall register costs, the allocation of) 3.811 WS
6.560 MX
(common subexpressions has been) 3.810 WS
96 664 moveto
(integrated with that of other objects.) show
72 682 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(The allocation of volatile) 3.232 WS
5.983 MX
(registers has been improved. This increases the number of) 3.233 WS
96 695 moveto
(opportunities for stack frame elimination when the debugging level is PARTIAL or NONE.) show
72 713 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Object preferencing has been improved, reducing the number of move instructions.) show
72 756 moveto
17 /AvantGarde-Book SelectFont
(RATIONAL) show
10 /Palatino-Roman SelectFont
(     October 1992) show
310.940 MX
(9) show
EndPage
%%Page: 10 12
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
(Rational Cross-Development Facility:) show
72 48 moveto
(M68020/OS-2000 Release Information) show
72 84 moveto
11 /Palatino-Roman SelectFont
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Processing of case statements by the optimizer has been much improved.) 1.483 WS
4.232 MX
(The optimizer) 1.482 WS
96 97 moveto
(chooses from a number of) 4.424 WS
7.175 MX
(different techniques to implement each case statement,) 4.425 WS
96 110 moveto
(depending on factors such as its size and) 0.254 WS
3.003 MX
(density. Different techniques are combined when) 0.253 WS
96 123 moveto
(appropriate, for example to) 1.263 WS
4.014 MX
(handle a large, generally sparse case statement having small) 1.264 WS
96 136 moveto
(regions of high density.) show
72 154 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Constant folding has been expanded. In particular, constant) 3.076 WS
5.825 MX
(folding of floating point) 3.075 WS
96 167 moveto
(expressions has been improved.) show
72 205 moveto
13 /Palatino-Bold SelectFont
(3.3.  Shared-Code Generics) show
72 229 moveto
11 /Palatino-Roman SelectFont
(Users may request that all instantiations of a given generic share the same general) 0.326 WS
3.077 MX
(code, that all) 0.327 WS
72 242 moveto
(instantiations of a given generic have their own custom code, or that all instantiations by) 0.007 WS
2.756 MX
(default) show
72 255 moveto
(share the same code but that specified instantiations) 0.993 WS
3.744 MX
(have their own code. Two new pragmas,) 0.994 WS
72 268 moveto
(Generic_Policy and Instance_Policy,) 2.301 WS
5.050 MX
(are used to specify the manner in which code is to be) 2.300 WS
72 281 moveto
(generated for generics.) show
72 318 moveto
12 /Palatino-Bold SelectFont
(3.3.1.  Pragma Generic_Policy) show
72 342 moveto
10 /Courier-Bold SelectFont
(pragma GENERIC_POLICY \050[GENERIC_UNIT =>] simple_name,) show
72 354 moveto
(                       [CODE =>] REPLICATED | SHARED\051) show
72 378 moveto
11 /Palatino-Roman SelectFont
(The simple name must denote a generic package or subprogram.) show
72 396 moveto
(The pragma and the declaration) 0.398 WS
3.149 MX
(of the named generic must occur immediately within the same) 0.399 WS
72 409 moveto
(declarative part or package specification; the) 0.331 WS
3.080 MX
(generic declaration must occur before the pragma.) 0.330 WS
72 422 moveto
(Only one Generic_Policy pragma may be applied to a generic.) show
72 440 moveto
(The pragma specifies how code should be) 1.825 WS
4.576 MX
(generated for the generic. If the Shared option is) 1.826 WS
72 453 moveto
(selected, code will be generated) 0.241 WS
2.990 MX
(for the generic itself; this code will be used for all instantiations) 0.240 WS
72 466 moveto
(of the generic \050except as noted below\051. If the Replicated option is selected, code will) 1.864 WS
4.615 MX
(not be) 1.865 WS
72 479 moveto
(generated for the generic, but rather for each instantiation of) 0.044 WS
2.793 MX
(the generic. The replicated code for) 0.043 WS
72 492 moveto
(an instantiation will be smaller and faster than the shared code for the corresponding generic.) show
72 510 moveto
(Demoting the body) 0.262 WS
3.013 MX
(of a replicated generic to installed causes all instantiations of that generic to) 0.263 WS
72 523 moveto
(also be demoted to installed, whereas demoting the) 0.886 WS
3.635 MX
(body of a shared generic to installed does) 0.885 WS
72 536 moveto
(not cause demotion of any instantiations \050except those that) 2.234 WS
4.985 MX
(were explicitly made replicated) 2.235 WS
72 549 moveto
(using pragma Instance_Policy\051.) show
72 567 moveto
(If pragma Generic_Policy is) 0.267 WS
3.016 MX
(not specified, the compiler decides between Shared and Replicated.) 0.266 WS
72 580 moveto
(At present, the default is always Replicated.) show
72 598 moveto
(Replicated generics are not permitted in spec views) 1.300 WS
4.051 MX
(\050therefore, a generic in a spec view must) 1.301 WS
72 611 moveto
(also have) 0.818 WS
3.567 MX
(a generic policy pragma specifying that the code is to be shared\051. The generic policy) 0.817 WS
72 624 moveto
(must be the same for corresponding generics in a load view and spec view. This) 0.180 WS
2.931 MX
(is currently not) 0.181 WS
72 637 moveto
(enforced, so care should be taken to ensure that all generics which appear) 1.219 WS
3.968 MX
(in a spec view are) 1.218 WS
72 650 moveto
(implemented as shared-code generics.) show
72 668 moveto
(To simplify the rules for spec/load view compatibility, and because) 3.643 WS
6.394 MX
(complete control is) 3.644 WS
72 681 moveto
(afforded by) 2.690 WS
5.439 MX
(the pragmas defined here, pragma Optimize does) 2.689 WS
11 /Palatino-Italic SelectFont
( not) 2.689 WS
11 /Palatino-Roman SelectFont
( play a role in selecting) 2.689 WS
72 694 moveto
(between shared and replicated code.) show
72 756 moveto
10 /Palatino-Roman SelectFont
(10) show
303.731 MX
(October 1992    ) show
17 /AvantGarde-Book SelectFont
( RATIONAL) show
EndPage
%%Page: 11 13
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
390.180 MX
(Rev7_2_2 Release) show
72 73 moveto
12 /Palatino-Bold SelectFont
(3.3.2.  Pragma Instance_Policy) show
72 97 moveto
11 /Palatino-Roman SelectFont
(When a policy of shared has been selected for a generic, the user may still wish) 1.876 WS
4.627 MX
(for certain) 1.877 WS
72 110 moveto
(instantiations to have replicated) 0.901 WS
3.650 MX
(code for performance reasons. Pragma Instance_Policy allows) 0.900 WS
72 123 moveto
(this to be specified for a particular instantiation.) show
72 147 moveto
10 /Courier-Bold SelectFont
(pragma INSTANCE_POLICY \050[INSTANTIATION =>] simple_name,) show
72 159 moveto
(                        [CODE =>] REPLICATED\051) show
72 183 moveto
11 /Palatino-Roman SelectFont
(The simple name must denote an instantiation of a generic \050which may) 1.961 WS
4.712 MX
(be either shared or) 1.962 WS
72 196 moveto
(replicated\051.) show
72 214 moveto
(The pragma and the declaration of) 0.595 WS
3.344 MX
(the named instantiation must occur immediately within the) 0.594 WS
72 227 moveto
(same declarative part or package specification; the instantiation must occur) 0.640 WS
3.391 MX
(before the pragma.) 0.641 WS
72 240 moveto
(If the simple_name names several overloaded) 4.533 WS
7.282 MX
(subprogram instantiations in the current) 4.532 WS
72 253 moveto
(declarative part or package specification,) 4.255 WS
7.006 MX
(the pragma applies to all of them. Only one) 4.256 WS
72 266 moveto
(Instance_Policy pragma may be applied to a single instantiation.) show
72 284 moveto
(The pragma is ignored if the instantiation refers to a generic in a spec view.) show
72 321 moveto
12 /Palatino-Bold SelectFont
(3.3.3.  Shared-Code Generic Features) show
72 345 moveto
11 /Palatino-Roman SelectFont
(The following subset of shared-code generic features is supported in this release:) show
72 363 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Formal floating point types) show
72 381 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Formal private and limited private types) show
72 399 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Formal access types) show
72 417 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Formal subprograms) show
72 435 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Formal objects of mode IN) show
72 453 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Formal arrays) show
72 471 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Formal discrete and integer types) show
72 489 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Formal scalar objects of mode IN OUT) show
72 507 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Formal nondiscriminated record objects of mode IN OUT) show
72 525 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Formal array objects of mode IN OUT) show
72 543 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Generics \050shared or replicated\051 nested immediately within shared generic packages) show
72 561 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Subunits, and subunits of subunits) show
72 579 moveto
(A Generic_Policy pragma with a policy of Shared will) 0.710 WS
3.459 MX
(be rejected of the generic has any of the) 0.709 WS
72 592 moveto
(following formal parameters:) show
72 610 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Formal fixed point types) show
72 628 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(Formal discriminated private and limited private types) show
72 646 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(IN OUT discriminated objects) show
72 664 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(IN OUT formal private or limited private objects) show
72 682 moveto
(Exceptions declared in shared) 1.932 WS
4.683 MX
(generics are not handled strictly correctly. The Ada language) 1.933 WS
72 695 moveto
(requires that such exceptions be) 0.722 WS
3.471 MX
(replicated for each instantiation \050as happens naturally when a) 0.721 WS
72 708 moveto
(macro-expansion technique is used\051; at the present time, this does not occur for shared generics.) show
72 756 moveto
17 /AvantGarde-Book SelectFont
(RATIONAL) show
10 /Palatino-Roman SelectFont
(     October 1992) show
305.940 MX
(11) show
EndPage
%%Page: 12 14
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
(Rational Cross-Development Facility:) show
72 48 moveto
(M68020/OS-2000 Release Information) show
72 84 moveto
11 /Palatino-Roman SelectFont
(There is a temporary restriction) 0.399 WS
3.150 MX
(on the use of bodiless library unit generic packages. Use of this) 0.400 WS
72 97 moveto
(construct will result in an error at code generation time.) show
72 115 moveto
(The temporary restriction concerning the declaration of task types and objects in shared) 0.278 WS
3.027 MX
(generic) show
72 128 moveto
(package specs and bodies has been removed; such declarations will now be correctly processed.) show
72 165 moveto
12 /Palatino-Bold SelectFont
(3.3.4.  Guidelines for Using Shared Code Generics) show
72 189 moveto
11 /Palatino-Roman SelectFont
(This section discusses the performance impact of shared code generics and) 3.864 WS
6.615 MX
(offers some) 3.865 WS
72 202 moveto
(suggestions on when to use them and how to optimize performance) 1.592 WS
4.341 MX
(when they are used. In) 1.591 WS
72 215 moveto
(general, shared) 0.892 WS
3.643 MX
(code generics will be less time efficient than replicated generics, but will often) 0.893 WS
72 228 moveto
(be more space efficient as well as permitting) 0.339 WS
3.088 MX
(the spec of the generic to be placed in a spec view.) 0.338 WS
72 241 moveto
(The code) 1.087 WS
3.838 MX
(is less efficient because code is generated to handle all the parameters with which a) 1.088 WS
72 254 moveto
(generic can be instantiated, rather than only the code necessary for the specific) 2.269 WS
5.018 MX
(parameters) show
72 267 moveto
(which are available at the instantiation site \050where code) 1.430 WS
4.181 MX
(for replicated generics is generated\051.) 1.431 WS
72 280 moveto
(Shared generics must also manage the state of a generic package \050i.e., objects declared in) 1.426 WS
4.175 MX
(the) show
72 293 moveto
(package\051. This is always less efficient, since it requires an) 3.256 WS
6.007 MX
(extra level of indirection, and) 3.257 WS
72 306 moveto
(sometimes more than one.) 0.361 WS
3.110 MX
(In general, shared code generics will be more space efficient because) 0.360 WS
72 319 moveto
(code will only be generated once rather than at each of the instatiation sites, but only) 0.082 WS
2.833 MX
(if there are) 0.083 WS
72 332 moveto
(several instantiations of the) 0.161 WS
2.910 MX
(generic \050it is always more efficient to use replicated generics if there) 0.160 WS
72 345 moveto
(is only one instantiation\051.) show
72 363 moveto
(It is also possible that a shared code generic will allocate more heap or stack than the) 1.691 WS
4.442 MX
(same) show
72 376 moveto
(generic replicated. This occurs when) 1.908 WS
4.657 MX
(the shared generic needs to allocate space but has less) 1.907 WS
72 389 moveto
(information about how much space to allocate than it would if it) 0.630 WS
3.381 MX
(were replicated. For instance,) 0.631 WS
72 402 moveto
(suppose a generic has a formal in object which is used as a bound in) 0.715 WS
3.464 MX
(an array. If the generic is) 0.714 WS
72 415 moveto
(replicated, the) 1.298 WS
4.049 MX
(compiler may be aware of the value that has been give to the object, in which) 1.299 WS
72 428 moveto
(case it will) 1.854 WS
4.603 MX
(allocate the array statically. If the generic is shared, however, the array must be) 1.853 WS
72 441 moveto
(allocated dynamically, since the compiler) 1.020 WS
3.771 MX
(must generate code without knowing the bounds of) 1.021 WS
72 454 moveto
(the array. Whether more space will be) 0.091 WS
2.840 MX
(used because of a given generic depends heavily on what) 0.090 WS
72 467 moveto
(kinds of generic parameters it takes, so here is a type by type list of some of the effects.) show
72 485 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
11 /Palatino-Bold SelectFont
19.434 MX
(Formal Floating Point Types) show
96 498 moveto
11 /Palatino-Roman SelectFont
(All simple objects of a formal floating point type will cause more stack) 3.048 WS
5.799 MX
(space to be) 3.049 WS
96 511 moveto
(allocated, since the compiler allocates enough space to store) 0.836 WS
3.585 MX
(a double-word value. Arrays) 0.835 WS
96 524 moveto
(of formal floats will be only as long as is needed, but they will) 1.446 WS
4.197 MX
(be dynamic in all cases,) 1.447 WS
96 537 moveto
(since the size of the element cannot be known at compile time.) show
72 555 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
11 /Palatino-Bold SelectFont
19.434 MX
(Formal Subprograms) show
96 568 moveto
11 /Palatino-Roman SelectFont
(All formal subprograms are) 1.779 WS
4.528 MX
(implemented by passing a compiler generated subprogram) 1.778 WS
96 581 moveto
(which does any needed type conversions and then calls the) 0.403 WS
3.154 MX
(actual subprogram. They have) 0.404 WS
96 594 moveto
(little effect on) 1.232 WS
3.981 MX
(the stack or heap used, although they do cause an extra stack frame to be) 1.231 WS
96 607 moveto
(allocated.) show
72 625 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
11 /Palatino-Bold SelectFont
19.434 MX
(Formal Access Types) show
96 638 moveto
11 /Palatino-Roman SelectFont
(No extra space is allocated for an object of a formal) 1.428 WS
4.179 MX
(access type, but extra master layers) 1.429 WS
96 651 moveto
(may be created in) 1.406 WS
4.155 MX
(some cases where we are unable to tell whether the access type is an) 1.405 WS
96 664 moveto
(access to a task type.) show
72 682 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
11 /Palatino-Bold SelectFont
19.434 MX
(Formal Objects of Mode IN) show
96 695 moveto
11 /Palatino-Roman SelectFont
(Formal IN objects have no significant effect on the amount of space allocated.) show
72 756 moveto
10 /Palatino-Roman SelectFont
(12) show
303.731 MX
(October 1992    ) show
17 /AvantGarde-Book SelectFont
( RATIONAL) show
EndPage
%%Page: 13 15
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
390.180 MX
(Rev7_2_2 Release) show
72 72 moveto
11 /Palatino-Roman SelectFont
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
11 /Palatino-Bold SelectFont
19.434 MX
(Formal Arrays) show
96 85 moveto
11 /Palatino-Roman SelectFont
(Formal arrays cause little difference in) 1.763 WS
4.514 MX
(the amount of space allocated on either heap or) 1.764 WS
96 98 moveto
(stack.) show
72 116 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
11 /Palatino-Bold SelectFont
19.434 MX
(Formal Private Types) show
96 129 moveto
11 /Palatino-Roman SelectFont
(Formal private) 0.686 WS
3.435 MX
(types can incur much more overhead with shared code generics than with) 0.685 WS
96 142 moveto
(replicated generics. This is because the compiler must now allow for) 0.771 WS
3.522 MX
(the possiblity of any) 0.772 WS
96 155 moveto
(type. In general,) 1.718 WS
4.467 MX
(objects of a formal private type will be allocated a single word on the) 1.717 WS
96 168 moveto
(stack. If the actual type is a simple type \050i.e. a scalar\051, the word will) 1.124 WS
3.875 MX
(contain the value of) 1.125 WS
96 181 moveto
(object. If the actual type) 1.022 WS
3.771 MX
(is more complex, the word will point to another object allocated) 1.021 WS
96 194 moveto
(dynamically which will contain) 0.015 WS
2.766 MX
(the actual data, or possibly more pointers to other dynamic) 0.016 WS
96 207 moveto
(objects. With this scheme, little more space is allocated that is necessary, but space which) 0.897 WS
96 220 moveto
(would have been on) 1.205 WS
3.956 MX
(the stack in a replicated generic will now be allocated dynamically,) 1.206 WS
96 233 moveto
(sometimes on the heap. Also,) 0.131 WS
2.880 MX
(since pointers must be dereferenced \050in some cases a chain of) 0.130 WS
96 246 moveto
(pointers must be followed\051, operations) 2.375 WS
5.126 MX
(on formal private types will be slower than in) 2.376 WS
96 259 moveto
(replicated generics. In) 2.217 WS
4.966 MX
(many cases, runtime calls are made to perform operations \050e.g.,) 2.216 WS
96 272 moveto
(equality tests, assignment, function return of formal privates, etc\051.) show
72 290 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
11 /Palatino-Bold SelectFont
19.434 MX
(Formal Discrete and Integer Types) show
96 303 moveto
11 /Palatino-Roman SelectFont
(The only effect of formal discrete and integer types is that some arrays) 1.398 WS
4.149 MX
(which would be) 1.399 WS
96 316 moveto
(allocated statically will become dynamic.) show
72 334 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
11 /Palatino-Bold SelectFont
19.434 MX
(Formal Scalars of Mode IN OUT) show
96 347 moveto
11 /Palatino-Roman SelectFont
(In out objects cause little change in the amount of space allocated.) show
72 365 moveto
(With all types an effort has been made to ensure that shared code generics behave in the same) 0.692 WS
72 378 moveto
(way as the same generic does when replicated, including raising the same errors at) 1.307 WS
4.058 MX
(the same) 1.308 WS
72 391 moveto
(locations. The only exception to) 2.292 WS
5.041 MX
(this is that in some cases with formal floating point types) 2.291 WS
72 404 moveto
(Constraint_Error will be raised where Numeric_Error was previously raised.) show
72 442 moveto
13 /Palatino-Bold SelectFont
(3.4.  Code Views and the Predefined Subsystem) show
72 466 moveto
11 /Palatino-Roman SelectFont
(Prior to this release, code views could not be transferred between machines because the link) 1.527 WS
72 479 moveto
(names of the predefined units) 0.851 WS
3.600 MX
(\050e.g. system\051 were not the same on different machines. This has) 0.850 WS
72 492 moveto
(been corrected by placing the predefined units in) 0.660 WS
3.411 MX
(a subsystem view called !Targets.Predefined.) 0.661 WS
72 505 moveto
(As a result,) show
11 /Palatino-Italic SelectFont
( new models are required which point to the new predefined units.) show
72 523 moveto
11 /Palatino-Roman SelectFont
(This new organization permits worlds which were compiled) 0.340 WS
3.089 MX
(with previous compilers to coexist) 0.339 WS
72 536 moveto
(on the same machine with worlds compiled with the new compiler. Note, however, that) 3.099 WS
72 549 moveto
(modules produced by one version of the compiler cannot be linked) 0.498 WS
3.247 MX
(with modules produced by) 0.497 WS
72 562 moveto
(another version.) show
72 580 moveto
11 /Palatino-Italic SelectFont
(Existing subsystem views) 2.429 WS
5.180 MX
(which are to be compiled with the new compiler must have their models) 2.430 WS
72 593 moveto
(replaced.) show
11 /Palatino-Roman SelectFont
( The links in other) 0.267 WS
3.016 MX
(worlds must be changed to point to the new predefined units. A tool) 0.266 WS
72 606 moveto
(is provided with this release which will demote units in) 2.354 WS
5.105 MX
(existing worlds and update these) 2.355 WS
72 619 moveto
(worlds for the Rev7_2 compiler - see the installation notes for more details.) show
72 756 moveto
17 /AvantGarde-Book SelectFont
(RATIONAL) show
10 /Palatino-Roman SelectFont
(     October 1992) show
305.940 MX
(13) show
EndPage
%%Page: 14 16
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
(Rational Cross-Development Facility:) show
72 48 moveto
(M68020/OS-2000 Release Information) show
72 86 moveto
13 /Palatino-Bold SelectFont
(3.5.  Other New Features) show
72 123 moveto
12 /Palatino-Bold SelectFont
(3.5.1.  Pragma Assert) show
72 147 moveto
10 /Courier-Bold SelectFont
(pragma ASSERT\050[Predicate =>] boolean_expression) show
72 159 moveto
(              [, [Class =>] integer_expression]\051;) show
72 183 moveto
11 /Palatino-Roman SelectFont
(When the pragma) 2.182 WS
4.931 MX
(is encountered, boolean_expression is evaluated. If the resulting value is) 2.181 WS
72 196 moveto
(FALSE, the exception System.Assertion_Error is raised;) 0.691 WS
3.442 MX
(otherwise, no further action is taken. If) 0.692 WS
72 209 moveto
(System.Assertion_Error is not defined, Program_Error is raised instead.) show
72 227 moveto
(The integer_expression is ignored; for the moment, it is allowed only for compatibility) 0.424 WS
3.173 MX
(with the) 0.423 WS
72 240 moveto
(R1000 Ada code generator.) show
72 258 moveto
(This pragma may appear wherever a statement or declaration would be legal.) show
72 295 moveto
12 /Palatino-Bold SelectFont
(3.5.2.  Pragma Collection_Policy) show
72 319 moveto
11 /Palatino-Roman SelectFont
(The pragma Collection_Policy can be used to) 1.937 WS
4.688 MX
(customize storage management. The complete) 1.938 WS
72 332 moveto
(syntax for this pragma is:) show
72 356 moveto
10 /Courier-Bold SelectFont
(pragma COLLECTION_POLICY \050Access_Type => access_type,) show
72 368 moveto
(                          Initial_Size => integer_expression) show
72 380 moveto
(                          [, Extensible => boolean_expression]) show
72 392 moveto
(                          [, Extension_Size => integer_expression]\051;) show
72 416 moveto
11 /Palatino-Roman SelectFont
(This pragma must appear in the same declarative region as the access type that it applies) 0.014 WS
2.763 MX
(to, and) 0.013 WS
72 429 moveto
(the access type's full type) 0.444 WS
3.195 MX
(declaration must occur before the pragma. This implies that, in order) 0.445 WS
72 442 moveto
(to use a) 1.095 WS
3.844 MX
(private type for the Access_Type argument, the pragma must be given in the private) 1.094 WS
72 455 moveto
(part after the complete access-type declaration. At most one such pragma is allowed for) 0.284 WS
3.035 MX
(a given) 0.285 WS
72 468 moveto
(access type.) show
72 486 moveto
(The Collection_Policy pragma is ignored when:) show
72 504 moveto
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(a `Storage_Size clause is given for the access type; in this case, the Storage_Size takes) 2.404 WS
96 517 moveto
(precedence. This is because a statement of the form:) show
96 541 moveto
10 /Courier-Bold SelectFont
(for X'Storage_Size use size;) show
96 565 moveto
11 /Palatino-Roman SelectFont
(is equivalent to:) show
96 589 moveto
10 /Courier-Bold SelectFont
(pragma Collection_Policy \050Access_Type => X,) show
96 601 moveto
(                          Initial_Size => size,) show
96 613 moveto
(                          Extensible => False\051;) show
72 637 moveto
11 /Palatino-Roman SelectFont
0 -1.100 rmoveto
6 /ZapfDingbats SelectFont
(n) show
11 /Palatino-Roman SelectFont
0 1.100 rmoveto
19.434 MX
(the pragma follows a forcing occurrence of the access type \050LRM 13.1.6\051.) show
72 655 moveto
(Access_Type and Initial_Size are required. Extensible and Extension_Size are optional.) 2.966 WS
5.717 MX
(All) show
72 668 moveto
(arguments must) 3.534 WS
6.283 MX
(be specified using named association, as shown in all examples in this) 3.533 WS
72 681 moveto
(pragma's discussion.) show
72 756 moveto
10 /Palatino-Roman SelectFont
(14) show
303.731 MX
(October 1992    ) show
17 /AvantGarde-Book SelectFont
( RATIONAL) show
EndPage
%%Page: 15 17
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
390.180 MX
(Rev7_2_2 Release) show
72 72 moveto
11 /Palatino-Roman SelectFont
(If Extensible is) 0.348 WS
3.099 MX
(False, the collection is nonextensible. If Extensible is True, which is the default if) 0.349 WS
72 85 moveto
(not specified, then the collection will be extended by a) 0.636 WS
3.385 MX
(certain number of storage units when it) 0.635 WS
72 98 moveto
(fills up, if it is possible to do so. The number of storage units in the extension size is) 0.598 WS
3.349 MX
(chosen by) 0.599 WS
72 111 moveto
(the runtime system unless the Extension_Size is specified.) show
72 129 moveto
(Extension_Size allows the user to) 0.566 WS
3.315 MX
(specify the number of storage units to be allocated whenever) 0.565 WS
72 142 moveto
(the collection needs to be extended. This parameter is ignored if Extensible is False.) show
72 160 moveto
(Initial_Size gives the size) 2.326 WS
5.077 MX
(in storage units of the collection created at the point of the type) 2.327 WS
72 173 moveto
(declaration. If no pragma Collection_Policy is used,) 4.362 WS
7.111 MX
(the initial size of the collection is) 4.361 WS
72 186 moveto
(determined by the runtime system. A nonpositive) 1.540 WS
4.291 MX
(Initial_Value on a nonextensible collection) 1.541 WS
72 199 moveto
(raises the Storage_Error exception in the situations described below. Currently,) show
72 223 moveto
10 /Courier-Bold SelectFont
(for X'Storage_Size use 0;) show
72 247 moveto
11 /Palatino-Roman SelectFont
(means that no collection should be created for X.) 2.071 WS
4.820 MX
(The same effect is achieved with pragma) 2.070 WS
72 260 moveto
(Collection_Policy by giving:) show
72 284 moveto
10 /Courier-Bold SelectFont
(pragma Collection_Policy \050Access_Type => X,) show
72 296 moveto
(                          Initial_Size => 0,) show
72 308 moveto
(                          Extensible => False\051;) show
72 332 moveto
11 /Palatino-Roman SelectFont
(In both of the) 3.162 WS
5.913 MX
(above cases, an attempt to use an allocator will result in a Storage_Error) 3.163 WS
72 345 moveto
(exception. However, you could also say:) show
72 369 moveto
10 /Courier-Bold SelectFont
(pragma Collection_Policy \050Access_Type => x,) show
72 381 moveto
(                          Initial_Size => 0,) show
72 393 moveto
(                          Extensible => True,) show
72 405 moveto
(                          Extension_Size => 100\051;) show
72 429 moveto
11 /Palatino-Roman SelectFont
(which means "do not create a collection until an allocation is performed.") 2.947 WS
5.696 MX
(When the first) 2.946 WS
72 442 moveto
(allocator is executed, the collection is created with the extension size.) show
72 479 moveto
12 /Palatino-Bold SelectFont
(3.5.3.  New Attribute: 'Homogeneous) show
72 503 moveto
11 /Palatino-Roman SelectFont
(Applicable to an access type; yields a Boolean value.) 3.470 WS
6.221 MX
(The value returned is False if the) 3.471 WS
72 516 moveto
(designated type given in) 2.638 WS
5.387 MX
(the access type declaration is an unconstrained array type or an) 2.637 WS
72 529 moveto
(unconstrained discriminated record type, and True otherwise.) show
72 547 moveto
(If the attribute is) 0.653 WS
3.404 MX
(True, then all objects in the collection must have the same size. The converse,) 0.654 WS
72 560 moveto
(however, is not true.) show
72 578 moveto
(Note that the attribute is a) 0.386 WS
3.135 MX
(property of the type, not of the subtype. Thus, for any access type T,) 0.385 WS
72 591 moveto
(T'Homogeneous = T'Base'Homogeneous.) show
72 609 moveto
(For example:) show
72 633 moveto
10 /Courier-Bold SelectFont
(    type T1 is access String;) show
72 645 moveto
(    type T2 is new T1 \0501 .. 10\051;  -- T2'Homogeneous = False) show
72 669 moveto
11 /Palatino-Roman SelectFont
(At the implementation level, the attribute indicates) 0.153 WS
2.904 MX
(whether or not constraint information needs) 0.154 WS
72 682 moveto
(to be stored with allocated objects.) show
72 756 moveto
17 /AvantGarde-Book SelectFont
(RATIONAL) show
10 /Palatino-Roman SelectFont
(     October 1992) show
305.940 MX
(15) show
EndPage
%%Page: 16 18
BeginPage
792 false PositionPage
72 36 moveto
10 /Palatino-Roman SelectFont
(Rational Cross-Development Facility:) show
72 48 moveto
(M68020/OS-2000 Release Information) show
72 85 moveto
12 /Palatino-Bold SelectFont
(3.5.4.  Object Writer) show
72 109 moveto
11 /Palatino-Roman SelectFont
(The compiler now generates an object file directly. Previously, the) 2.978 WS
5.727 MX
(compiler generated an) 2.977 WS
72 122 moveto
(assembly file and invoked the assembler to obtain an) 1.633 WS
4.384 MX
(object file. This change results in code) 1.634 WS
72 135 moveto
(generation times that are approximately 25%) 0.396 WS
3.145 MX
(faster. As a consequence,) 0.395 WS
11 /Palatino-Italic SelectFont
( the Cross_Cg.Asm_Source) 0.395 WS
72 148 moveto
(switch is now obsolete) show
11 /Palatino-Roman SelectFont
(. To obtain an assembly listing, use the Cross_Cg.Listing switch.) show
72 185 moveto
12 /Palatino-Bold SelectFont
(3.5.5.  Elaboration Checks) show
72 209 moveto
11 /Palatino-Roman SelectFont
(The CDF) 5.331 WS
8.082 MX
(now supports the Suppress_Elaboration_Objects switch, which eliminates all) 5.332 WS
72 222 moveto
(elaboration objects and the code to test and set them. When this new switch is) 1.029 WS
3.778 MX
(set to true, the) 1.028 WS
72 235 moveto
(compiler behaves as if the user had inserted:) show
72 259 moveto
10 /Courier-Bold SelectFont
(    pragma Suppress \050Elaboration_Check, On => Snaggle\051;) show
72 283 moveto
11 /Palatino-Roman SelectFont
(for each subprogram 'snaggle' in each compilation unit in the) 0.281 WS
3.032 MX
(library. This significantly reduces) 0.282 WS
72 296 moveto
(the amount of initialization code in Ada units.) show
72 314 moveto
(Because the prelinker guarantees that spec/load) 3.415 WS
6.164 MX
(subsystems are elaborated in layers, the) 3.414 WS
72 327 moveto
(compiler never generates elaboration checks on cross-subsystem) 1.031 WS
3.782 MX
(calls to subprograms that are) 1.032 WS
72 340 moveto
(imported via a spec view. Due to this, it is not necessary) 0.362 WS
3.111 MX
(that the Suppress_Elaboration_Objects) 0.361 WS
72 353 moveto
(switch have the same value in corresponding spec and load views.) show
72 371 moveto
(Elaboration objects for generics are NOT affected by the Suppress_Elaboration_Objects switch.) show
72 756 moveto
10 /Palatino-Roman SelectFont
(16) show
303.731 MX
(October 1992    ) show
17 /AvantGarde-Book SelectFont
( RATIONAL) show
EndPage
%%Trailer
%%Pages: 18 1
%%DocumentFonts: Times-Roman Courier-Bold AvantGarde-Book Palatino-Roman Palatino-Bold Palatino-Italic ZapfDingbats

ARCHIVE PAIR

INDEX: ⟦bd402c561⟧ R1K_ARCHIVE_INDEX
DATA:  ⟦0e555866a⟧ R1K_ARCHIVE_DATA, TextFile

OctetView

0x00000…0b7a4 ⟦0c2371ad1⟧
0x0b7a4…1ec9b ⟦65463c4ad⟧