home *** CD-ROM | disk | FTP | other *** search
File List | 1993-10-05 | 19.0 KB | 285 lines |
- C Set ++ Compiler Version 2.0
- Fixes List
- -----------------------------
-
- *************************************************************************
- * *
- * This CSD contains fixes that are common to C/C++ Tools Version 2.0 *
- * and Version 2.01. Notwithstanding the version statements *
- * contained in the files of this CSD this is not an upgrade of *
- * Version 2.0 to Version 2.01. *
- * *
- * The code to which you have access is determined by the version of *
- * the software to which you are licensed. *
- * *
- *************************************************************************
-
- *************************************************************************
- The following fixes are provided in Compiler CSD CT0002
- *************************************************************************
- FIX/APAR COMPONENT PROBLEM DESCRIPTION
- ------------------------------------------------------------------------
- PJ10544 BE Optimization Problem: Compiling with /G5 /Ms
- may optimize SUB ESP,4 into PUSH EAX at
- inappropriate places.
- ------------------------------------------------------------------------
- PJ10545 BE Incorrect code may be generated when copying
- structures whose size is less than 12 bytes.
- ------------------------------------------------------------------------
- PJ10546 BE Optimization Problem: An internal problem
- during common subexpression elimination could
- cause a compile-time exception.
- ------------------------------------------------------------------------
- PJ10547 BE Optimization Problem: Incorrect code generation
- may result when optimizing a loop that contains
- a goto which acts like a break.
- ------------------------------------------------------------------------
- PJ10549 BE Optimization Problem: Instruction scheduling
- may move instructions out of the protected
- area between _disable and _enable.
- ------------------------------------------------------------------------
- PJ10550 BE Optimization Problem: Returning a floating
- point value as an integer may cause problems
- on machines without FP co-processors when
- compiled with /O and either /G4 or /G5.
- ------------------------------------------------------------------------
- PJ10552 BE The enum data offset field of a COMDAT placed
- in a user segment was being set to a non-zero
- value.
- ------------------------------------------------------------------------
- PJ10553 BE Optimization Problem: An internal problem
- could cause a compile-time trap when compiling
- with /O+ /Gf+.
- ------------------------------------------------------------------------
- PJ10556 BE The BE was not growing the number of file
- handles available. This caused a compile-time
- exception when the BE ran out of file handles.
- ------------------------------------------------------------------------
- PJ10557 BE Optimization Problem: Calling a 32-bit function
- from the last statement of a _Far16 _Pascal
- function could be compiled incorrectly.
- ------------------------------------------------------------------------
- PJ10558 BE Optimization Problem: The incorrect register
- may be cleared when returning 0.
- ------------------------------------------------------------------------
- PJ10559 BE A constant left-shifted by another constant
- may be folded incorrectly when compiled with
- /Gi.
- ------------------------------------------------------------------------
- PJ10560 BE Optimization Problem: Tail call optimization
- was being incorrectly applied to a call to a
- pascal linkage function from a system linkage
- function.
- ------------------------------------------------------------------------
- QUAL-IMP BE Optimization Problem: Bad register selection
- around switch statements could cause incorrect
- code generation.
- ------------------------------------------------------------------------
- QUAL-IMP BE With C++, returning a complex structure from
- a function whose destructor has been inlined
- could be compiled incorrectly.
- ------------------------------------------------------------------------
- QUAL-IMP BE An internal problem could cause a compile-time
- trap when compiling, with /Gr /Rn, a _Far32
- _Pascal function that returns a pointer.
- ------------------------------------------------------------------------
- PJ10478 CFE The preprocessor was getting an internal compiler
- error for certain macro expansion.
- ------------------------------------------------------------------------
- PJ10477 CFE If a source/header file contains null
- characters, the compiler gets an internal
- compiler error and may result in a huge
- swapper that may bring down your system.
- ------------------------------------------------------------------------
- QUAL-IMP CFE Error message was being erroneously issued
- when '_Export" keyword or '#pragma export'
- are specified more than once for the same object.
- ------------------------------------------------------------------------
- PJ10566 C++FE Conversion function results in an unconstructed
- temporary. No constructor was called for the
- temporary object.
- ------------------------------------------------------------------------
- PJ10567 C++FE When passing a class as a by value parameter
- a temporary is not used and the class is passed
- by reference.
- ------------------------------------------------------------------------
- PJ10568 C++FE Member friend incorrectly inherits function linkage
- from linkage specifier.
- ------------------------------------------------------------------------
- PJ10569 C++FE Invalid Error message EDC3458 produced.
-
- ------------------------------------------------------------------------
- PJ10570 C++FE GPF calling virtual member function of a template
- class when the module uses #pragma data_seg.
- ------------------------------------------------------------------------
- PJ10571 C++FE Invalid error for postfix operator ++ on a
- reference in a conditional expression.
- ------------------------------------------------------------------------
- PJ10572 C++FE Invalid error message EDC3276 and GPF when
- compiling a conditional expression.
- ------------------------------------------------------------------------
- QUAL-IMP C++FE Runtime GPF accessing static data member
- at location 0
- ------------------------------------------------------------------------
- QUAL-IMP C++FE /Ms causes a runtime GPF when exception handling
- is used.
- ------------------------------------------------------------------------
- PJ10461 CRT Serialization code used in the runtime
- library may cause system traps. This
- usually occurs when one of the thread
- unexpectedly terminates.
- ------------------------------------------------------------------------
- PJ10462 CRT Thunk Prologue incorrectly probes stack
- causing system traps. This may occur
- with any 32-16 calls not in thread one.
- ------------------------------------------------------------------------
- QUAL-IMP CRT Free not handling debug object. An debug
- memory object (as allocated by the debug
- memory routine) can cause system trap
- after it is passed to the regular free()
- function for freeing.
- ------------------------------------------------------------------------
- QUAL-IMP CRT Spawn/Exec family functions should ignore
- net error. If the net error is not ignored,
- the search on the PATH stops prematurely,
- which may cause spawns/exec functions not to
- find any program whose path appears
- after the net work path causing the error.
- ------------------------------------------------------------------------
- QUAL-IMP UTIL Compiler dialog did not parse a file when the
- file contains a '//' comment. It ignored lines
- after the '//' character until a blank line is
- reached.
- ------------------------------------------------------------------------
- QUAL-IMP UTIL Dialog did not free up memory when saving
- or retrieving information to/from the project
- file extended attribute.
- ------------------------------------------------------------------------
- *************************************************************************
- The following fixes are provided in Compiler CSD CT0001 and later CSDs:
- *************************************************************************
- FIX/APAR COMPONENT PROBLEM DESCRIPTION
- *************************************************************************
- PJ09575 DOC Hitting Ctrl H in EPM for contextual help
- did not work for printf or scanf. A change
- was made in the DDE4CLIB.NDX file..
- -------------------------------------------------------------------------
- QUAL-IMP ICC When /Fa compilation switch was used to
- create assembler file, and a template file
- was compiled, the compiler trapped.
- -------------------------------------------------------------------------
- QUAL-IMP ICC Added the description of /Tm option to ICC
- help.
- -------------------------------------------------------------------------
- PJ09573 FE Fixed the compiler to disallow illegal
- initialization of two-dimensional array
- of char with character string without braces.
- -------------------------------------------------------------------------
- PJ09574 FE Structure initialization failed with an
- extra set of braces.
- -------------------------------------------------------------------------
- QUAL-IMP FE Usage of _Export keyword caused the compiler
- to fail.
- ------------------------------------------------------------------------
- QUAL-IMP UTIL Beta project causes Workframe to trap.
- ------------------------------------------------------------------------
- QUAL-IMP UTIL Update English panels to fix a Japanese
- VGA screen.
- ------------------------------------------------------------------------
- QUAL-IMP UTIL Remove the minimize capability of the
- notebook dialog.
- ------------------------------------------------------------------------
- QUAL-IMP UTIL No keyboard focus when the notebook dialog
- first appears.
- ------------------------------------------------------------------------
- QUAL-IMP UTIL Incorrect focus when Alt key is pressed
- inside a dialog.
- ------------------------------------------------------------------------
- QUAL-IMP UTIL /Xc should not generate any command line
- include paths.
- ------------------------------------------------------------------------
- QUAL-IMP C++FE The /Ms option is changing the linkage of
- internally declared compiler functions.
- This can result in runtime traps when using
- memory management or C++ exception handling.
- ------------------------------------------------------------------------
- QUAL-IMP C++FE The linker fails when using /ND to rename
- a data segment. The compiler is generating
- bad code for partially initialized
- structures.
- ------------------------------------------------------------------------
- QUAL-IMP C++FE Using the compiler options /La or /Lb causes
- the compiler to trap.
- ------------------------------------------------------------------------
- PJ09576 C++FE Linking a program that contains templates
- causes an invalid error to be generated by
- lib.exe. The error is "LIB0007: Error :
- Unable to open D:\00900000.6.OBJ"
- ------------------------------------------------------------------------
- PJ09577 C++FE Large program with many template functions,
- (more than 1023), traps at runtime.
- ------------------------------------------------------------------------
- PJ09578 C++FE When linking programs that contain templates
- and object files that were generated by TASM
- the message: "Unknown Record Type {ox..},
- offset {..} is generated.
- ------------------------------------------------------------------------
- PJ09579 C++FE The compiler is incorrectly resolving to a
- function template instead of using a
- previously declared member function.
- ------------------------------------------------------------------------
- PJ09580 C++FE Object destructors are not always run after
- a throw statement.
- ------------------------------------------------------------------------
- PJ09581 C++FE Compiling code that uses _Far16 and _Pascal
- keywords causes an internal compiler error:
- "Exception #C0000005: 30751 occurred in
- file .., function .."
- ------------------------------------------------------------------------
- QUAL-IMP C++RT Incorrectly handling exceptions in multiple
- runtime environments.
- ------------------------------------------------------------------------
- PJ09568 BE Compiling source files with the same names
- may result in conflicting BSS static areas.
- ------------------------------------------------------------------------
- PJ09570 BE Optimization Problem: Incorrect code could be
- generated when the result of a comparison is
- subtracted from a variable.
- ------------------------------------------------------------------------
- PJ09571 BE The debug info could become corrupted in very
- large files which results in only assembler
- view being available within IPMD.
- ------------------------------------------------------------------------
- PJ09572 BE Optimization Problem: An internal problem
- during loop optimizations could cause a
- compile-time exception in the back-end.
- ------------------------------------------------------------------------
- PJ09569 BE Optimization Problem: Incorrect code could be
- produced for loops ending with an if-then-else
- where the last statement of the else is a
- break.
- ------------------------------------------------------------------------
- QUAL-IMP BE Optimization Problem: An internal problem in
- store removal could cause incorrect code.
- ------------------------------------------------------------------------
- QUAL-IMP BE Optimization Problem: An internal problem
- may cause a compile-time exception in the
- back-end.
- ------------------------------------------------------------------------
- QUAL-IMP BE Incorrect code generation for _Far16 _Pascal
- functions that return floating-point types
- could cause a run-time exception.
- ------------------------------------------------------------------------
- QUAL-IMP BE Optimization Problem: An internal problem,
- when compiling with /Ti+, may cause incorrect
- code generation for breaks within loops.
- ------------------------------------------------------------------------
- QUAL-IMP BE Optimization Problem: The optimizer was
- incorrectly folding (0 / x) and (0 % x).
- ------------------------------------------------------------------------
- QUAL-IMP BE Casting a floating-point value to int and
- then comparing the result to another int that
- was previously cast from a floating-point
- value may produce incorrect results.
- ------------------------------------------------------------------------