home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / lrm / chap11.err < prev    next >
Encoding:
Text File  |  1988-05-03  |  6.6 KB  |  134 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                            Errata for changes to Chapter 11 version 21
  7.  
  8.  
  9.  
  10. 11.1  Exception Declarations (paragraphs 8 9)11.1  Exception Declarations (paragraphs 8 9)11.1  Exception Declarations (paragraphs 8 9)
  11.  
  12.  
  13.  
  14. STORAGE_ERROR  This exception is raised in any of the  following  situations:   when  the  dynamic
  15.                storage allocated to a task is exceeded;  during the evaluation of an allocator, if
  16.                the  space  available  for  the  collection  of allocated objects is exhausted;  or
  17.                during the elaboration of  a  declarative  item,  or  during  the  execution  of  a
  18.                subprogram call, if storage is not sufficient.
  19.  
  20. TASKING_ERROR  This exception is raised when exceptions arise during intertask communication  (see
  21.                9 and 11.5).
  22.  
  23.  
  24.  
  25. 11.1  Exception Declarations (paragraph 17)11.1  Exception Declarations (paragraph 17)11.1  Exception Declarations (paragraph 17)
  26.  
  27.  
  28. Tasking_______  error_____  exception_________  contexts________:  abort statement 9.10, entry call 9.5 9.7.2 9.7.3, exceptions
  29. during task communication 11.5, task activation 9.3
  30.  
  31.  
  32.  
  33. 11.2  (paragraph 8)11.2  (paragraph 8)11.2  (paragraph 8)
  34.  
  35.  
  36. The same kinds of statement are allowed in the sequence of statements of each exception handler as
  37. are allowed in the sequence of statements of the frame.    For  example,  a  return  statement  is
  38. allowed in a handler within a function body.
  39.  
  40.  
  41.  
  42. 11.6  Exceptions and Optimization (paragraph 2)11.6  Exceptions and Optimization (paragraph 2)11.6  Exceptions and Optimization (paragraph 2)
  43.  
  44.  
  45. In general, when the language rules specify an order for certain actions (the canonical_________ order_____), an
  46. implementation  may  only  use  an  alternative  order  if it can guarantee that the effect of the
  47. program is not changed by the reordering.  In  particular,  no  exception  should  arise  for  the
  48. execution  of  the  reordered  program  if  none  arises  for  the execution of the program in the
  49. canonical order.  When, on the other hand, the order of certain actions  is  not  defined  by  the
  50. language,  any  order  can  be  used  by  the  implementation.   (For  example, the arguments of a
  51. predefined operator can be evaluated in any  order since the rules given in  section  4.5  do  not
  52. require a specific order of evaluation.)
  53.  
  54.  
  55.  
  56. 11.6  Exceptions and Optimization (paragraph 7)11.6  Exceptions and Optimization (paragraph 7)11.6  Exceptions and Optimization (paragraph 7)
  57.  
  58.  
  59. A  predefined  operation need not be invoked at all, if its only possible effect is to propagate a
  60. predefined exception.  Similarly, a predefined operation need not be invoked  if  the  removal  of
  61. subsequent operations by the above rule renders this invocation ineffective.
  62.  
  63.  
  64.  
  65.  
  66.  
  67. -1                                                  Exceptions and Optimization (paragraph 7) 11.6
  68.  
  69.  
  70.  
  71.  
  72. Notes:______
  73.  
  74.  
  75.  
  76. 11.6  Exceptions and Optimization (paragraph 12)11.6  Exceptions and Optimization (paragraph 12)11.6  Exceptions and Optimization (paragraph 12)
  77.  
  78.  
  79. References:___________  accept  statement  9.5,  accuracy of real operations 4.5.7, assignment 5.2, base type
  80. 3.3, basic operation 3.3.3, conversion 4.6, error situation 11, exception  11,  exception  handler
  81. 11.2,  frame  11.2,  numeric_error  exception 11.1, predefined operator 4.5, predefined subprogram
  82. 8.6, propagation of an exception 11.4, real type 3.5.6, undefined value 3.2.1
  83.  
  84.  
  85.  
  86. 11.7  Suppressing Checks (paragraph 3 4)11.7  Suppressing Checks (paragraph 3 4)11.7  Suppressing Checks (paragraph 3 4)
  87.  
  88.  
  89. A pragma SUPPRESS is only allowed immediately within a declarative part or  immediately  within  a
  90. package  specification.   In the latter case, the only allowed form is with a name that denotes an
  91. entity (or several overloaded subprograms) declared immediately within the package  specification.
  92. The  permission  to  omit  the  given check extends from the place of the pragma to the end of the
  93. declarative region associated with the innermost enclosing block statement or program unit.  For a
  94. pragma given in a package specification, the permission extends to the end of  the  scope  of  the
  95. named entity.
  96.  
  97. If  the  pragma includes a name, the permission to omit the given check is further restricted:  it
  98. is given only for operations on the named object or on all objects of the base  type  of  a  named
  99. type  or  subtype;   for  calls of a named subprogram;  for activations of tasks of the named task
  100. type;  or for instantiations of the given generic unit.
  101.  
  102.  
  103.  
  104. 11.7  Suppressing Checks (paragraph 21)11.7  Suppressing Checks (paragraph 21)11.7  Suppressing Checks (paragraph 21)
  105.  
  106.  
  107. References:___________
  108.  
  109. access type 3.8, access value 3.8, activation  9.3,  aggregate  4.3,  allocator  4.8,  array  3.6,
  110. attribute 4.1.4, block statement 5.6, collection 3.8, compatible 3.3.2, component of an array 3.6,
  111. component  of  a  record 3.7, composite type 3.3, constraint 3.3, constraint_error exception 11.1,
  112. declarative part 3.9, designate 3.8,  dimension  3.6,  discrete  range  3.6,  discriminant  3.7.1,
  113. discriminant  constraint  3.7.2,  elaboration 3.1 3.9, erroneous 1.6, error situation 11, expanded
  114. name 4.1.3, generic body 11.1, generic instantiation 12.3, generic unit 12, identifier 2.3,  index
  115. 3.6,  index  constraint  3.6.1,  indexed component 4.1.1, null access value 3.8, numeric operation
  116. 3.5.5 3.5.8 3.5.10, numeric type 3.5, numeric_error exception 11.1, object 3.2,  operation  3.3.3,
  117. package  body  7.1,  package  specification 7.1, pragma 2.8, program_error exception 11.1, program
  118. unit 6, propagation of an exception 11.4, range constraint 3.5, record type 3.7, simple name  4.1,
  119. slice  4.1.2,  subprogram  6, subprogram body 6.3, subprogram call 6.4, subtype 3.3, subunit 10.2,
  120. task 9, task body 9.1, task type 9.1, task unit 9, type 3.3, type mark 3.3.2
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133. 11.7 Suppressing Checks (paragraph 21)                                                          -2
  134.