home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / patches / csetc / csdfixes.lst next >
Encoding:
File List  |  1993-10-05  |  19.0 KB  |  285 lines

  1.                        C Set ++ Compiler Version 2.0
  2.                                 Fixes List
  3.                        -----------------------------
  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 version 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. *************************************************************************
  18. The following fixes are provided in Compiler CSD CT0002
  19. *************************************************************************
  20. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  21.  ------------------------------------------------------------------------
  22.  PJ10544          BE        Optimization Problem: Compiling with /G5 /Ms
  23.                             may optimize SUB ESP,4 into PUSH EAX at
  24.                             inappropriate places.
  25.  ------------------------------------------------------------------------
  26.  PJ10545          BE        Incorrect code may be generated when copying
  27.                             structures whose size is less than 12 bytes.
  28.  ------------------------------------------------------------------------
  29.  PJ10546          BE        Optimization Problem: An internal problem
  30.                             during common subexpression elimination could
  31.                             cause a compile-time exception.
  32.  ------------------------------------------------------------------------
  33.  PJ10547          BE        Optimization Problem: Incorrect code generation
  34.                             may result when optimizing a loop that contains
  35.                             a goto which acts like a break.
  36.  ------------------------------------------------------------------------
  37.  PJ10549          BE        Optimization Problem: Instruction scheduling
  38.                             may move instructions out of the protected
  39.                             area between _disable and _enable.
  40.  ------------------------------------------------------------------------
  41.  PJ10550          BE        Optimization Problem: Returning a floating
  42.                             point value as an integer may cause problems
  43.                             on machines without FP co-processors when
  44.                             compiled with /O and either /G4 or /G5.
  45.  ------------------------------------------------------------------------
  46.  PJ10552          BE        The enum data offset field of a COMDAT placed
  47.                             in a user segment was being set to a non-zero
  48.                             value.
  49.  ------------------------------------------------------------------------
  50.  PJ10553          BE        Optimization Problem: An internal problem
  51.                             could cause a compile-time trap when compiling
  52.                             with /O+ /Gf+.
  53.  ------------------------------------------------------------------------
  54.  PJ10556          BE        The BE was not growing the number of file
  55.                             handles available.  This caused a compile-time
  56.                             exception when the BE ran out of file handles.
  57.  ------------------------------------------------------------------------
  58.  PJ10557          BE        Optimization Problem: Calling a 32-bit function
  59.                             from the last statement of a _Far16 _Pascal
  60.                             function could be compiled incorrectly.
  61.  ------------------------------------------------------------------------
  62.  PJ10558          BE        Optimization Problem: The incorrect register
  63.                             may be cleared when returning 0.
  64.  ------------------------------------------------------------------------
  65.  PJ10559          BE        A constant left-shifted by another constant
  66.                             may be folded incorrectly when compiled with
  67.                             /Gi.
  68.  ------------------------------------------------------------------------
  69.  PJ10560          BE        Optimization Problem: Tail call optimization
  70.                             was being incorrectly applied to a call to a
  71.                             pascal linkage function from a system linkage
  72.                             function.
  73.  ------------------------------------------------------------------------
  74.  QUAL-IMP         BE        Optimization Problem: Bad register selection
  75.                             around switch statements could cause incorrect
  76.                             code generation.
  77.  ------------------------------------------------------------------------
  78.  QUAL-IMP         BE        With C++, returning a complex structure from
  79.                             a function whose destructor has been inlined
  80.                             could be compiled incorrectly.
  81.  ------------------------------------------------------------------------
  82.  QUAL-IMP         BE        An internal problem could cause a compile-time
  83.                             trap when compiling, with /Gr /Rn, a _Far32
  84.                             _Pascal function that returns a pointer.
  85.  ------------------------------------------------------------------------
  86.  PJ10478         CFE        The preprocessor was getting an internal compiler
  87.                             error for certain macro expansion.
  88.  ------------------------------------------------------------------------
  89.  PJ10477         CFE        If a source/header file contains null
  90.                             characters, the compiler gets an internal
  91.                             compiler error and may result in a huge
  92.                             swapper that may bring down your system.
  93.  ------------------------------------------------------------------------
  94.  QUAL-IMP        CFE        Error message was being erroneously issued
  95.                             when '_Export" keyword or '#pragma export'
  96.                             are specified more than once for the same object.
  97.  ------------------------------------------------------------------------
  98.  PJ10566       C++FE        Conversion function results in an unconstructed
  99.                             temporary. No constructor was called for the
  100.                             temporary object.
  101.  ------------------------------------------------------------------------
  102.  PJ10567       C++FE        When passing a class as a by value parameter
  103.                             a temporary is not used and the class is passed
  104.                             by reference.
  105.  ------------------------------------------------------------------------
  106.  PJ10568       C++FE        Member friend incorrectly inherits function linkage
  107.                             from linkage specifier.
  108.  ------------------------------------------------------------------------
  109.  PJ10569       C++FE        Invalid Error message EDC3458 produced.
  110.  
  111.  ------------------------------------------------------------------------
  112.  PJ10570       C++FE        GPF calling virtual member function of a template
  113.                             class when the module uses #pragma data_seg.
  114.  ------------------------------------------------------------------------
  115.  PJ10571       C++FE        Invalid error for postfix operator ++ on a
  116.                             reference in a conditional expression.
  117.  ------------------------------------------------------------------------
  118.  PJ10572       C++FE        Invalid error message EDC3276 and GPF when
  119.                             compiling a conditional expression.
  120.  ------------------------------------------------------------------------
  121.  QUAL-IMP      C++FE        Runtime GPF accessing static data member
  122.                             at location 0
  123.  ------------------------------------------------------------------------
  124.  QUAL-IMP      C++FE        /Ms causes a runtime GPF when exception handling
  125.                             is used.
  126.  ------------------------------------------------------------------------
  127.  PJ10461         CRT        Serialization code used in the runtime
  128.                             library may cause system traps. This
  129.                             usually occurs when one of the thread
  130.                             unexpectedly terminates.
  131.  ------------------------------------------------------------------------
  132.  PJ10462         CRT        Thunk Prologue incorrectly probes stack
  133.                             causing system traps. This may occur
  134.                             with any 32-16 calls not in thread one.
  135.  ------------------------------------------------------------------------
  136.  QUAL-IMP        CRT        Free not handling debug object. An debug
  137.                             memory object (as allocated by the debug
  138.                             memory routine) can cause system trap
  139.                             after it is passed to the regular free()
  140.                             function for freeing.
  141.  ------------------------------------------------------------------------
  142.  QUAL-IMP        CRT        Spawn/Exec family functions should ignore
  143.                             net error. If the net error is not ignored,
  144.                             the search on the PATH stops prematurely,
  145.                             which may cause spawns/exec functions not to
  146.                             find any program whose path appears
  147.                             after the net work path causing the error.
  148.  ------------------------------------------------------------------------
  149.  QUAL-IMP       UTIL        Compiler dialog did not parse a file when the
  150.                             file contains a '//' comment.  It ignored lines
  151.                             after the '//' character until a blank line is
  152.                             reached.
  153.  ------------------------------------------------------------------------
  154.  QUAL-IMP       UTIL        Dialog did not free up memory when saving
  155.                             or retrieving information to/from the project
  156.                             file extended attribute.
  157.  ------------------------------------------------------------------------
  158. *************************************************************************
  159. The following fixes are provided in Compiler CSD CT0001 and later CSDs:
  160. *************************************************************************
  161. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  162. *************************************************************************
  163.  PJ09575        DOC         Hitting Ctrl H in EPM for contextual help
  164.                             did not work for printf or scanf.  A change
  165.                             was made in the DDE4CLIB.NDX file..
  166. -------------------------------------------------------------------------
  167.  QUAL-IMP       ICC         When /Fa compilation switch was used to
  168.                             create assembler file, and a template file
  169.                             was compiled, the compiler trapped.
  170. -------------------------------------------------------------------------
  171.  QUAL-IMP       ICC         Added the description of /Tm option to ICC
  172.                             help.
  173. -------------------------------------------------------------------------
  174.  PJ09573        FE          Fixed the compiler to disallow illegal
  175.                             initialization of two-dimensional array
  176.                             of char with character string without braces.
  177. -------------------------------------------------------------------------
  178.  PJ09574        FE          Structure initialization failed with an
  179.                             extra set of braces.
  180. -------------------------------------------------------------------------
  181.  QUAL-IMP       FE          Usage of _Export keyword caused the compiler
  182.                             to fail.
  183.  ------------------------------------------------------------------------
  184.  QUAL-IMP      UTIL         Beta project causes Workframe to trap.
  185.  ------------------------------------------------------------------------
  186.  QUAL-IMP      UTIL         Update English panels to fix a Japanese
  187.                             VGA screen.
  188.  ------------------------------------------------------------------------
  189.  QUAL-IMP      UTIL         Remove the minimize capability of the
  190.                             notebook dialog.
  191.  ------------------------------------------------------------------------
  192.  QUAL-IMP      UTIL         No keyboard focus when the notebook dialog
  193.                             first appears.
  194.  ------------------------------------------------------------------------
  195.  QUAL-IMP      UTIL         Incorrect focus when Alt key is pressed
  196.                             inside a dialog.
  197.  ------------------------------------------------------------------------
  198.  QUAL-IMP      UTIL         /Xc should not generate any command line
  199.                             include paths.
  200.  ------------------------------------------------------------------------
  201.  QUAL-IMP      C++FE        The /Ms option is changing the linkage of
  202.                             internally declared compiler functions.
  203.                             This can result in runtime traps when using
  204.                             memory management or C++ exception handling.
  205.  ------------------------------------------------------------------------
  206.  QUAL-IMP      C++FE        The linker fails when using /ND to rename
  207.                             a data segment.  The compiler is generating
  208.                             bad code for partially initialized
  209.                             structures.
  210.  ------------------------------------------------------------------------
  211.  QUAL-IMP      C++FE        Using the compiler options /La or /Lb causes
  212.                             the compiler to trap.
  213.  ------------------------------------------------------------------------
  214.  PJ09576       C++FE        Linking a program that contains templates
  215.                             causes an invalid error to be generated by
  216.                             lib.exe.  The error is "LIB0007: Error :
  217.                             Unable to open D:\00900000.6.OBJ"
  218.  ------------------------------------------------------------------------
  219.  PJ09577       C++FE        Large program with many template functions,
  220.                             (more than 1023), traps at runtime.
  221.  ------------------------------------------------------------------------
  222.  PJ09578       C++FE        When linking programs that contain templates
  223.                             and object files that were generated by TASM
  224.                             the message: "Unknown Record Type {ox..},
  225.                             offset {..} is generated.
  226.  ------------------------------------------------------------------------
  227.  PJ09579       C++FE        The compiler is incorrectly resolving to a
  228.                             function template instead of using a
  229.                             previously declared member function.
  230.  ------------------------------------------------------------------------
  231.  PJ09580       C++FE        Object destructors are not always run after
  232.                             a throw statement.
  233.  ------------------------------------------------------------------------
  234.  PJ09581       C++FE        Compiling code that uses _Far16 and _Pascal
  235.                             keywords causes an internal compiler error:
  236.                             "Exception #C0000005: 30751 occurred in
  237.                             file .., function .."
  238.  ------------------------------------------------------------------------
  239.  QUAL-IMP      C++RT        Incorrectly handling exceptions in multiple
  240.                             runtime environments.
  241.  ------------------------------------------------------------------------
  242.  PJ09568         BE         Compiling source files with the same names
  243.                             may result in conflicting BSS static areas.
  244.  ------------------------------------------------------------------------
  245.  PJ09570         BE         Optimization Problem: Incorrect code could be
  246.                             generated when the result of a comparison is
  247.                             subtracted from a variable.
  248.  ------------------------------------------------------------------------
  249.  PJ09571         BE         The debug info could become corrupted in very
  250.                             large files which results in only assembler
  251.                             view being available within IPMD.
  252.  ------------------------------------------------------------------------
  253.  PJ09572         BE         Optimization Problem: An internal problem
  254.                             during loop optimizations could cause a
  255.                             compile-time exception in the back-end.
  256.  ------------------------------------------------------------------------
  257.  PJ09569         BE         Optimization Problem: Incorrect code could be
  258.                             produced for loops ending with an if-then-else
  259.                             where the last statement of the else is a
  260.                             break.
  261.  ------------------------------------------------------------------------
  262.  QUAL-IMP        BE         Optimization Problem: An internal problem in
  263.                             store removal could cause incorrect code.
  264.  ------------------------------------------------------------------------
  265.  QUAL-IMP        BE         Optimization Problem: An internal problem
  266.                             may cause a compile-time exception in the
  267.                             back-end.
  268.  ------------------------------------------------------------------------
  269.  QUAL-IMP        BE         Incorrect code generation for _Far16 _Pascal
  270.                             functions that return floating-point types
  271.                             could cause a run-time exception.
  272.  ------------------------------------------------------------------------
  273.  QUAL-IMP        BE         Optimization Problem: An internal problem,
  274.                             when compiling with /Ti+, may cause incorrect
  275.                             code generation for breaks within loops.
  276.  ------------------------------------------------------------------------
  277.  QUAL-IMP        BE         Optimization Problem: The optimizer was
  278.                             incorrectly folding (0 / x) and (0 % x).
  279.  ------------------------------------------------------------------------
  280.  QUAL-IMP        BE         Casting a floating-point value to int and
  281.                             then comparing the result to another int that
  282.                             was previously cast from a floating-point
  283.                             value may produce incorrect results.
  284.  ------------------------------------------------------------------------
  285.