home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / services / csetfix / compiler / csdfixes.lst next >
Encoding:
File List  |  1993-12-23  |  34.9 KB  |  525 lines

  1.  
  2.                        C Set ++ Compiler Version 2.0
  3.                                 Fixes List
  4.                        -----------------------------
  5. *************************************************************************
  6. *                                                                       *
  7. *  This CSD contains fixes that are common to C/C++ Tools Version 2.0   *
  8. *  and Version 2.01.  Notwithstanding the versions statements           *
  9. *  contained in the files of this CSD this is not an upgrade of         *
  10. *  Version 2.0 to Version 2.01.                                         *
  11. *                                                                       *
  12. *  The code to which you have access is determined by the version of    *
  13. *  the software to which you are licensed.                              *
  14. *                                                                       *
  15. *************************************************************************
  16. =========================================================================
  17.                CTC0005 is informal Corrective Service
  18. The following fixes are provided in Compiler CS CTC0005
  19. *************************************************************************
  20. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  21. -------------------------------------------------------------------------
  22.  PJ11625         BE         Optimization Problem: Compiling source that
  23.                             contains floating-point code could cause a
  24.                             compile-time trap in the backend.
  25.  ------------------------------------------------------------------------
  26.  PJ11688         BE         Optimization Problem: Statements of the form
  27.                             "do { i++; } while (condition); i--;" could
  28.                             be incorrectly optimized.
  29.  ------------------------------------------------------------------------
  30.  PJ11692         BE         Incorrect debug info could be generated for a
  31.                             data member of a class with type "char *
  32.                             const".
  33.  ------------------------------------------------------------------------
  34.  PJ11695         BE         Optimization Problem: Instruction scheduling
  35.                             could clobber the result of constant multiply
  36.                             across a call.
  37.  ------------------------------------------------------------------------
  38.  PJ11696         BE         Optimization Problem: Using an int variable
  39.                             as an array of chars within a loop could
  40.                             result in incorrect code generation.
  41.  ------------------------------------------------------------------------
  42.  PJ11697         BE         Optimization Problem: Statements of the form
  43.                             "while (cond) { if (--i) { i++; break; } }"
  44.                             could be incorrectly optimized.
  45.  ------------------------------------------------------------------------
  46.  PJ11698         BE         Optimization Problem: If the "count" paramter
  47.                             of strncat() is a builtin string function,
  48.                             incorrect code could be generated.
  49.  ------------------------------------------------------------------------
  50.  PJ11699         BE         Optimization Problem: Tail calling a _Pascal
  51.                             function from another function could result
  52.                             in an exception at run-time.
  53.  ------------------------------------------------------------------------
  54.  PJ11701         BE         strncat() could copy one byte even if "count"
  55.                             parameter is a variable of value 0.
  56.  ------------------------------------------------------------------------
  57.  QUAL-IMP        BE         Optimization Problem: Adding two negative
  58.                             numbers and then negating the result could be
  59.                             optimized incorrectly.
  60.  ------------------------------------------------------------------------
  61.  QUAL-IMP        BE         Without optimization, an expression of the
  62.                             form "*((char*)&array[index]+i)" could
  63.                             generate an incorrect OBJ even though the
  64.                             ASM is correct.
  65.  ------------------------------------------------------------------------
  66.  PJ11491         C++FE      new() is not returning a valid pointer when
  67.                             allocating a 0-sized array.
  68.  ------------------------------------------------------------------------
  69.  PJ11492         C++FE      The delete() operator for an object was not
  70.                             being called with the debug parameters when
  71.                             that object was being deleted because its
  72.                             constructor threw an exception.
  73.  ------------------------------------------------------------------------
  74.  PJ11574         C++FE      Reduce the long link times and large swapper
  75.                             file created when linking C++ programs that
  76.                             contain templates.
  77.  ------------------------------------------------------------------------
  78.  PJ11575         C++FE      If a virtual base class appears more than
  79.                             once in the class hierarchy, then one copy of
  80.                             if may be initialized several times and the
  81.                             other copies not initialized.
  82.  ------------------------------------------------------------------------
  83.  PJ11584         C++FE      The compiler may crash when generating debug
  84.                             information for a class that has no
  85.                             user-supplied nor compiler-generated inline
  86.                             functions.  This is rare, since there are
  87.                             usually some compiler-generated ones.
  88.  ------------------------------------------------------------------------
  89.  PJ11585         C++FE      If a C++ compilation includes definitions of
  90.                             classes that contain virtual functions, all
  91.                             of which are inline functions, the compiler
  92.                             will generate those classes and functions
  93.                             whether or not they are actually used.  This
  94.                             fix generates them only when necessary
  95.  ------------------------------------------------------------------------
  96.  QUAL-IMP        C++FE      A C++ program containing a brace-enclosed
  97.                             statement block outside of a function body
  98.                             crashes the front-end when compiled with
  99.                             /Wuse+ if there is an unused label define
  100.                             in the block
  101.  ------------------------------------------------------------------------
  102.  QUAL-IMP        C++FE      A goto within a catch block is incorrectly
  103.                             diagnosed as a jump into the catch block,
  104.                             which is illegal since it bypasses
  105.                             initialization of the catch variable
  106.  ------------------------------------------------------------------------
  107.  QUAL-IMP        C++RT      Fixed memory leak that occurred when memory
  108.                             is allocated for an object however, it is not
  109.                             constructed because it's constructor threw an
  110.                             exception.
  111.  ------------------------------------------------------------------------
  112.  PJ11702         CFE        The compiler is not recognizing a constant
  113.                             expression properly when initialization
  114.                             involves an array within a structure within
  115.                             an array of structures
  116.  ------------------------------------------------------------------------
  117.  PJ11703         CFE        Using CSD 1 of C Set ++, the test case is
  118.                             expected to have a warning message, but the
  119.                             compiler should not be trapping.
  120.  ------------------------------------------------------------------------
  121.  PJ11686         CRT        The problem lies in reading across memory
  122.                             blocks.  The code did not take into account
  123.                             of the number of characters read in from the
  124.                             previous blocks and hence reading more than
  125.                             necessary.
  126.  ------------------------------------------------------------------------
  127.  PJ11687         CRT        AL register will now be set by the library
  128.                             when making a call to DosGetMessage.
  129. =========================================================================
  130.                CTC0004 is informal Corrective Service
  131. The following fixes are provided in Compiler CS CTC0004 and later CS
  132. *************************************************************************
  133. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  134.  ------------------------------------------------------------------------
  135.  PJ11127         BE         Optimization Problem: Multiplying a variable
  136.                             by a constant and the adding or subtracting 1
  137.                             could result in incorrect code generation.
  138.  ------------------------------------------------------------------------
  139.  PJ11128         BE         Optimization Problem: An internal problem
  140.                             could result in traps or unexpected results
  141.                             with 32 to 16 or 16 to 32 code.
  142.  ------------------------------------------------------------------------
  143.  PJ11129         BE         Optimization Problem: In rare circumstances,
  144.                             doing arithmetic with shorts could result in
  145.                             traps or unexpected results.
  146.  ------------------------------------------------------------------------
  147.  PJ11134         BE         Optimization Problem: The result of a right
  148.                             shift of a negative value, though
  149.                             implementation defined, could differ at /O-
  150.                             and /O+.
  151.  ------------------------------------------------------------------------
  152.  PJ11135         BE         Optimization Problem: The backend could abort
  153.                             with fatal error EDC4005 in intermediate file
  154.                             ROOPT when optimizing an if-then-else.
  155.  ------------------------------------------------------------------------
  156.  PJ11137         BE         Optimization Problem: Expressions of the
  157.                             form: "*(float *) &var", where var is an int,
  158.                             could cause a compile-time back-end trap.
  159.  ------------------------------------------------------------------------
  160.  PJ11138         BE         Optimization Problem: An internal problem
  161.                             occuring when compiling floating-point code
  162.                             could cause a compile-time back-end trap.
  163.  ------------------------------------------------------------------------
  164.  PJ11139         BE         Incorrect code could be generated when
  165.                             negating a char variable and then storing the
  166.                             result into an int variable.
  167.  ------------------------------------------------------------------------
  168.  PJ11140         BE         Optimization Problem: Statements of the form:
  169.                             "x--; if (cond) x += 2;" may be incorrectly
  170.                             optimized.
  171.  ------------------------------------------------------------------------
  172.  PJ11141         BE         Run-time traps could occur in code using 16
  173.                             to 32 callback functions if the code crossed
  174.                             a 64K boundary.
  175.  ------------------------------------------------------------------------
  176.  PJ11142         BE         When using strncat(), an extra NULL was being
  177.                             appended to the end of the destination string
  178.                             if the length of the source string was less
  179.                             than "n".
  180.  ------------------------------------------------------------------------
  181.  PJ11143         BE         Optimization Problem: Statements of the form:
  182.                             "if (!x) {y = 0;} else {y = 1;}" could cause
  183.                             a compile-time trap if x is a float-point
  184.                             type.
  185.  ------------------------------------------------------------------------
  186.  QUAL-IMP        BE         Under certain conditions, the optimizer could
  187.                             leave around some useless LEA instructions.
  188.                             This has now been fixed.
  189.  ------------------------------------------------------------------------
  190.  QUAL-IMP        BE         When exporting callback functions, an
  191.                             incorrect symbol could be used, resulting in
  192.                             link errors.
  193.  ------------------------------------------------------------------------
  194.  PJ11176         CFE        Compiler generates incorrect code for
  195.                             referencing array of array in structure
  196.                             with array index of 0.
  197.                             ie:  a.b[i][0].c = 1;  a.b[i]->c = 2;
  198.  ------------------------------------------------------------------------
  199.  PJ11177         CFE        If a variable is first declared and then
  200.                             initialized both with a typedef type and
  201.                             a qualifier, the compiler generates incorrect
  202.                             code.
  203.                             ie:  const typedef_name var;
  204.                                  const typedef_name var = 0;
  205.  ------------------------------------------------------------------------
  206.  PJ11179         CFE        When initializing a member of a structure
  207.                             casting the member to _Seg16 pointer causes
  208.                             unexpected compiler error.
  209.  ------------------------------------------------------------------------
  210.  PJ11180         CFE        When #pragma handler is specified for some
  211.                             functions, the compiler randomly generates
  212.                             incorrect code that exports some of those
  213.                             functions.
  214.  ------------------------------------------------------------------------
  215.  PJ11181         C++FE      The following message is produced when both
  216.                             sides of a conditional expression are the
  217.                             same:
  218.                             recoverable EDC4005: Error occured in
  219.                                         intermediate file RBEXPR(4902)
  220.  ------------------------------------------------------------------------
  221.  PJ11182         C++FE      An initialized function-scope static variable
  222.                             will cause the C++ front end to GPF if a
  223.                             compiler temporary is required when
  224.                             evaluating the initializing expression.
  225.  ------------------------------------------------------------------------
  226.  PJ11183         CRT        FILE struct members violate user name space.
  227.  ------------------------------------------------------------------------
  228.  PJ11185         CRT        MATHERR not handling domain errors.
  229. =========================================================================
  230.                CTC0003 is informal Corrective Service
  231. The following fixes are provided in Compiler CS CTC0003 and later CS
  232. *************************************************************************
  233. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  234.  ------------------------------------------------------------------------
  235.  PJ10704         BE         Incorrect debug information could cause IPMD
  236.                             to trap in DDE4BE32.DLL while debugging C++
  237.                             programs.
  238.  ------------------------------------------------------------------------
  239.  PJ10705         BE         Incorrect debug information for const member
  240.                             functions could cause expression evaluation
  241.                             problems in IPMD.
  242.  ------------------------------------------------------------------------
  243.  PJ10706         BE         Incorrect debug information could cause IPMD
  244.                             to hang when debugging large programs.
  245.  ------------------------------------------------------------------------
  246.  QUAL-IMP        BE         Incorrect debug information could confuse
  247.                             IPMD while debugging C++ programs.
  248.  ------------------------------------------------------------------------
  249.  PJ10461         CRT        Serialization code used in the runtime
  250.                             library may cause system traps. This
  251.                             usually occurs when one of the thread
  252.                             unexpectedly terminates.
  253.  ------------------------------------------------------------------------
  254.  PJ10703         C++RTL     CPPFILT utility truncates the mangled
  255.                             function names if it is greater than 233
  256.                             characters.
  257. =========================================================================
  258.                CTC0002 is formal Corrective Service
  259. The following fixes are provided in Compiler CS CTC0002 and later CS
  260. *************************************************************************
  261. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  262.  ------------------------------------------------------------------------
  263.  PJ10544          BE        Optimization Problem: Compiling with /G5 /Ms
  264.                             may optimize SUB ESP,4 into PUSH EAX at
  265.                             inappropriate places.
  266.  ------------------------------------------------------------------------
  267.  PJ10545          BE        Incorrect code may be generated when copying
  268.                             structures whose size is less than 12 bytes.
  269.  ------------------------------------------------------------------------
  270.  PJ10546          BE        Optimization Problem: An internal problem
  271.                             during common subexpression elimination could
  272.                             cause a compile-time exception.
  273.  ------------------------------------------------------------------------
  274.  PJ10547          BE        Optimization Problem: Incorrect code
  275.                             generation may result when optimizing a loop
  276.                             that contains a goto which acts like a break.
  277.  ------------------------------------------------------------------------
  278.  PJ10549          BE        Optimization Problem: Instruction scheduling
  279.                             may move instructions out of the protected
  280.                             area between _disable and _enable.
  281.  ------------------------------------------------------------------------
  282.  PJ10550          BE        Optimization Problem: Returning a floating
  283.                             point value as an integer may cause problems
  284.                             on machines without FP co-processors when
  285.                             compiled with /O and either /G4 or /G5.
  286.  ------------------------------------------------------------------------
  287.  PJ10552          BE        The enum data offset field of a COMDAT placed
  288.                             in a user segment was being set to a non-zero
  289.                             value.
  290.  ------------------------------------------------------------------------
  291.  PJ10553          BE        Optimization Problem: An internal problem
  292.                             could cause a compile-time trap when
  293.                             compiling with /O+ /Gf+.
  294.  ------------------------------------------------------------------------
  295.  PJ10556          BE        The BE was not growing the number of file
  296.                             handles available.  This caused a
  297.                             compile-time exception when the BE ran out of
  298.                             file handles.
  299.  ------------------------------------------------------------------------
  300.  PJ10557          BE        Optimization Problem: Calling a 32-bit
  301.                             function from the last statement of a _Far16
  302.                             _Pascal function could be compiled
  303.                             incorrectly.
  304.  ------------------------------------------------------------------------
  305.  PJ10558          BE        Optimization Problem: The incorrect register
  306.                             may be cleared when returning 0.
  307.  ------------------------------------------------------------------------
  308.  PJ10559          BE        A constant left-shifted by another constant
  309.                             may be folded incorrectly when compiled with
  310.                             /Gi.
  311.  ------------------------------------------------------------------------
  312.  PJ10560          BE        Optimization Problem: Tail call optimization
  313.                             was being incorrectly applied to a call to a
  314.                             pascal linkage function from a system linkage
  315.                             function.
  316.  ------------------------------------------------------------------------
  317.  QUAL-IMP         BE        Optimization Problem: Bad register selection
  318.                             around switch statements could cause
  319.                             incorrect code generation.
  320.  ------------------------------------------------------------------------
  321.  QUAL-IMP         BE        With C++, returning a complex structure from
  322.                             a function whose destructor has been inlined
  323.                             could be compiled incorrectly.
  324.  ------------------------------------------------------------------------
  325.  QUAL-IMP         BE        An internal problem could cause a
  326.                             compile-time trap when compiling, with /Gr
  327.                             /Rn, a _Far32 _Pascal function that returns a
  328.                             pointer.
  329.  ------------------------------------------------------------------------
  330.  PJ10478         CFE        The preprocessor was getting an internal
  331.                             compiler error for certain macro expansion.
  332.  ------------------------------------------------------------------------
  333.  PJ10477         CFE        If a source/header file contains null
  334.                             characters, the compiler gets an internal
  335.                             compiler error and may result in a huge
  336.                             swapper that may bring down your system.
  337.  ------------------------------------------------------------------------
  338.  QUAL-IMP        CFE        Error message was being erroneously issued
  339.                             when '_Export" keyword or '#pragma export'
  340.                             are specified more than once for the same
  341.                             object.
  342.  ------------------------------------------------------------------------
  343.  PJ10566       C++FE        Conversion function results in an
  344.                             unconstructed temporary. No constructor was
  345.                             called for the temporary object.
  346.  ------------------------------------------------------------------------
  347.  PJ10567       C++FE        When passing a class as a by value parameter
  348.                             a temporary is not used and the class is
  349.                             passed by reference.
  350.  ------------------------------------------------------------------------
  351.  PJ10568       C++FE        Member friend incorrectly inherits function
  352.                             linkage from linkage specifier.
  353.  ------------------------------------------------------------------------
  354.  PJ10569       C++FE        Invalid Error message EDC3458 produced.
  355.  ------------------------------------------------------------------------
  356.  PJ10570       C++FE        GPF calling virtual member function of a
  357.                             template class when the module uses #pragma
  358.                             data_seg.
  359.  ------------------------------------------------------------------------
  360.  PJ10571       C++FE        Invalid error for postfix operator ++ on a
  361.                             reference in a conditional expression.
  362.  ------------------------------------------------------------------------
  363.  PJ10572       C++FE        Invalid error message EDC3276 and GPF when
  364.                             compiling a conditional expression.
  365.  ------------------------------------------------------------------------
  366.  QUAL-IMP      C++FE        Runtime GPF accessing static data member
  367.                             at location 0.
  368.  ------------------------------------------------------------------------
  369.  QUAL-IMP      C++FE        /Ms causes a runtime GPF when exception
  370.                             handling is used.
  371.  ------------------------------------------------------------------------
  372.  PJ10462         CRT        Thunk Prologue incorrectly probes stack
  373.                             causing system traps. This may occur
  374.                             with any 32-16 calls not in thread one.
  375.  ------------------------------------------------------------------------
  376.  QUAL-IMP        CRT        Free not handling debug object. An debug
  377.                             memory object (as allocated by the debug
  378.                             memory routine) can cause system trap
  379.                             after it is passed to the regular free()
  380.                             function for freeing.
  381.  ------------------------------------------------------------------------
  382.  QUAL-IMP        CRT        Spawn/Exec family functions should ignore
  383.                             net error. If the net error is not ignored,
  384.                             the search on the PATH stops prematurely,
  385.                             which may cause spawns/exec functions not to
  386.                             find any program whose path appears
  387.                             after the net work path causing the error.
  388.  ------------------------------------------------------------------------
  389.  QUAL-IMP       UTIL        Compiler dialog did not parse a file when the
  390.                             file contains a '//' comment.  It ignored
  391.                             lines after the '//' character until a blank
  392.                             line is reached.
  393.  ------------------------------------------------------------------------
  394.  QUAL-IMP       UTIL        Dialog did not free up memory when saving
  395.                             or retrieving information to/from the project
  396.                             file extended attribute.
  397. =========================================================================
  398.                CTC0001 is informal Corrective Service
  399. The following fixes are provided in Compiler CS CTC0001 and later CS
  400. *************************************************************************
  401. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  402.  ------------------------------------------------------------------------
  403.  PJ09575        DOC         Hitting Ctrl H in EPM for contextual help
  404.                             did not work for printf or scanf.  A change
  405.                             was made in the DDE4CLIB.NDX file..
  406.  ------------------------------------------------------------------------
  407.  QUAL-IMP       ICC         When /Fa compilation switch was used to
  408.                             create assembler file, and a template file
  409.                             was compiled, the compiler trapped.
  410.  ------------------------------------------------------------------------
  411.  QUAL-IMP       ICC         Added the description of /Tm option to ICC
  412.                             help.
  413.  ------------------------------------------------------------------------
  414.  PJ09573        FE          Fixed the compiler to disallow illegal
  415.                             initialization of two-dimensional array
  416.                             of char with character string without braces.
  417.  ------------------------------------------------------------------------
  418.  PJ09574        FE          Structure initialization failed with an
  419.                             extra set of braces.
  420.  ------------------------------------------------------------------------
  421.  QUAL-IMP       FE          Usage of _Export keyword caused the compiler
  422.                             to fail.
  423.  ------------------------------------------------------------------------
  424.  QUAL-IMP      UTIL         Beta project causes Workframe to trap.
  425.  ------------------------------------------------------------------------
  426.  QUAL-IMP      UTIL         Update English panels to fix a Japanese
  427.                             VGA screen.
  428.  ------------------------------------------------------------------------
  429.  QUAL-IMP      UTIL         Remove the minimize capability of the
  430.                             notebook dialog.
  431.  ------------------------------------------------------------------------
  432.  QUAL-IMP      UTIL         No keyboard focus when the notebook dialog
  433.                             first appears.
  434.  ------------------------------------------------------------------------
  435.  QUAL-IMP      UTIL         Incorrect focus when Alt key is pressed
  436.                             inside a dialog.
  437.  ------------------------------------------------------------------------
  438.  QUAL-IMP      UTIL         /Xc should not generate any command line
  439.                             include paths.
  440.  ------------------------------------------------------------------------
  441.  QUAL-IMP      C++FE        The /Ms option is changing the linkage of
  442.                             internally declared compiler functions.
  443.                             This can result in runtime traps when using
  444.                             memory management or C++ exception handling.
  445.  ------------------------------------------------------------------------
  446.  QUAL-IMP      C++FE        The linker fails when using /ND to rename
  447.                             a data segment.  The compiler is generating
  448.                             bad code for partially initialized
  449.                             structures.
  450.  ------------------------------------------------------------------------
  451.  QUAL-IMP      C++FE        Using the compiler options /La or /Lb causes
  452.                             the compiler to trap.
  453.  ------------------------------------------------------------------------
  454.  PJ09576       C++FE        Linking a program that contains templates
  455.                             causes an invalid error to be generated by
  456.                             lib.exe.  The error is "LIB0007: Error :
  457.                             Unable to open D:\00900000.6.OBJ"
  458.  ------------------------------------------------------------------------
  459.  PJ09577       C++FE        Large program with many template functions,
  460.                             (more than 1023), traps at runtime.
  461.  ------------------------------------------------------------------------
  462.  PJ09578       C++FE        When linking programs that contain templates
  463.                             and object files that were generated by TASM
  464.                             the message: "Unknown Record Type {ox..},
  465.                             offset {..} is generated.
  466.  ------------------------------------------------------------------------
  467.  PJ09579       C++FE        The compiler is incorrectly resolving to a
  468.                             function template instead of using a
  469.                             previously declared member function.
  470.  ------------------------------------------------------------------------
  471.  PJ09580       C++FE        Object destructors are not always run after
  472.                             a throw statement.
  473.  ------------------------------------------------------------------------
  474.  PJ09581       C++FE        Compiling code that uses _Far16 and _Pascal
  475.                             keywords causes an internal compiler error:
  476.                             "Exception #C0000005: 30751 occurred in
  477.                             file .., function .."
  478.  ------------------------------------------------------------------------
  479.  QUAL-IMP      C++RT        Incorrectly handling exceptions in multiple
  480.                             runtime environments.
  481.  ------------------------------------------------------------------------
  482.  PJ09568         BE         Compiling source files with the same names
  483.                             may result in conflicting BSS static areas.
  484.  ------------------------------------------------------------------------
  485.  PJ09570         BE         Optimization Problem: Incorrect code could be
  486.                             generated when the result of a comparison is
  487.                             subtracted from a variable.
  488.  ------------------------------------------------------------------------
  489.  PJ09571         BE         The debug info could become corrupted in very
  490.                             large files which results in only assembler
  491.                             view being available within IPMD.
  492.  ------------------------------------------------------------------------
  493.  PJ09572         BE         Optimization Problem: An internal problem
  494.                             during loop optimizations could cause a
  495.                             compile-time exception in the back-end.
  496.  ------------------------------------------------------------------------
  497.  PJ09569         BE         Optimization Problem: Incorrect code could be
  498.                             produced for loops ending with an
  499.                             if-then-else where the last statement of the
  500.                             else is a break.
  501.  ------------------------------------------------------------------------
  502.  QUAL-IMP        BE         Optimization Problem: An internal problem in
  503.                             store removal could cause incorrect code.
  504.  ------------------------------------------------------------------------
  505.  QUAL-IMP        BE         Optimization Problem: An internal problem
  506.                             may cause a compile-time exception in the
  507.                             back-end.
  508.  ------------------------------------------------------------------------
  509.  QUAL-IMP        BE         Incorrect code generation for _Far16 _Pascal
  510.                             functions that return floating-point types
  511.                             could cause a run-time exception.
  512.  ------------------------------------------------------------------------
  513.  QUAL-IMP        BE         Optimization Problem: An internal problem,
  514.                             when compiling with /Ti+, may cause incorrect
  515.                             code generation for breaks within loops.
  516.  ------------------------------------------------------------------------
  517.  QUAL-IMP        BE         Optimization Problem: The optimizer was
  518.                             incorrectly folding (0 / x) and (0 % x).
  519.  ------------------------------------------------------------------------
  520.  QUAL-IMP        BE         Casting a floating-point value to int and
  521.                             then comparing the result to another int that
  522.                             was previously cast from a floating-point
  523.                             value may produce incorrect results.
  524. =========================================================================
  525.