Patch-ID# 104631-07
Keywords: C++ 4.2 SC4.2
Synopsis: SPARCompiler C++ 4.2: C++ 4.2 patch for Solaris 2.x
Date: Jul/17/98

Solaris Release: 2.4 2.5 2.5.1 2.6

SunOS Release: 5.4 5.5 5.5.1 5.6

Unbundled Product: C++

Unbundled Release: 4.2

Relevant Architectures: sparc

BugId's fixed with this patch: 4017854 4018967 4022750 1260259 4012816 4009400 4008555 4010497 4011108 4014569 4030203 4012089 4035206 4028596 4038784 4017523 4016981 4022750 4028596 4038423 4037602 4042420 4006956 4038784 4077685 4035112 4042253 4075414 4010697 4080622 4099094 1224985 1265563 4028292 4044133 4050683 4050876 4064298 4066271 4067988 4068034 4080025 4081421 4081663 4082049 4082776 4083233 4083417 4086206 4087521 4088228 4089011 4091451 4091607 4092166 4094907 4095428 4095545 4096164 4097231 4099207 4100612 4100882 4102613 4104811 4106809 4109013 4113130 4114550 4116182 4119513 4119968 4120853 4121018 4122885 4123883 4127741 4133851 4134073

Changes incorporated in this version: 1224985 1265563 4028292 4044133 4050683 4050876 4064298 4066271 4067988 4068034 4080025 4081421 4081663 4082049 4082776 4083233 4083417 4086206 4087521 4088228 4089011 4091451 4091607 4092166 4094907 4095428 4095545 4096164 4097231 4099207 4100612 4100882 4102613 4104811 4106809 4109013 4113130 4114550 4116182 4119513 4119968 4120853 4121018 4122885 4123883 4127741 4133851 4134073

Patches accumulated and obsoleted by this patch: 

Patches which conflict with this patch: 

Patches required with this patch: 

Obsoleted by: 

Files included with this patch: 
READMEs/Tools.h++
bin/CC
bin/c++filt
bin/ccfe
bin/cg
bin/iropt
bin/tdb_link
examples/Tools.h++/rw6/bus.cc
examples/Tools.h++/rw6/bus.h
examples/Tools.h++/rw6/example1.cc
examples/Tools.h++/rw6/example2.cc
examples/Tools.h++/rw6/example3.cc
examples/Tools.h++/rw6/example4.cc
examples/Tools.h++/rw6/example5.cc
examples/Tools.h++/rw6/example6.cc
examples/Tools.h++/rw6/example7.cc
examples/Tools.h++/rw6/example8.cc
examples/Tools.h++/rw6/example9.cc
examples/Tools.h++/rw6/i18n.cc
examples/Tools.h++/rw6/makefile
examples/Tools.h++/rw6/rpcclnt.cc
examples/Tools.h++/rw6/rpcexam.h
examples/Tools.h++/rw6/rpcsvc.cc
examples/Tools.h++/rw6/textfile.in
examples/Tools.h++/rw6/tpdlist.cc
examples/Tools.h++/rw6/tvdlist.cc
include/exception.h
include/CC/rw6/rw/backward.h
include/CC/rw6/rw/bench.h
include/CC/rw6/rw/bintree.h
include/CC/rw6/rw/bitref.h
include/CC/rw6/rw/bitvec.h
include/CC/rw6/rw/bstream.h
include/CC/rw6/rw/btrdict.h
include/CC/rw6/rw/btree.h
include/CC/rw6/rw/bufpage.h
include/CC/rw6/rw/cacheman.h
include/CC/rw6/rw/colclass.h
include/CC/rw6/rw/collass.h
include/CC/rw6/rw/colldate.h
include/CC/rw6/rw/collect.h
include/CC/rw6/rw/collint.h
include/CC/rw6/rw/collstr.h
include/CC/rw6/rw/colltime.h
include/CC/rw6/rw/compiler.h
include/CC/rw6/rw/compiler4x.h
include/CC/rw6/rw/compilerhpux.h
include/CC/rw6/rw/coreerr.h
include/CC/rw6/rw/cstring.h
include/CC/rw6/rw/ctoken.h
include/CC/rw6/rw/defs.h
include/CC/rw6/rw/diskpage.h
include/CC/rw6/rw/disktree.h
include/CC/rw6/rw/dlist.h
include/CC/rw6/rw/dlistcol.h
include/CC/rw6/rw/factory.h
include/CC/rw6/rw/filemgr.h
include/CC/rw6/rw/gbitvec.h
include/CC/rw6/rw/gdlist.h
include/CC/rw6/rw/generic.h
include/CC/rw6/rw/gordvec.h
include/CC/rw6/rw/gqueue.h
include/CC/rw6/rw/gslist.h
include/CC/rw6/rw/gsortvec.h
include/CC/rw6/rw/gstack.h
include/CC/rw6/rw/gvector.h
include/CC/rw6/rw/hashdict.h
include/CC/rw6/rw/hashtab.h
include/CC/rw6/rw/idendict.h
include/CC/rw6/rw/idenset.h
include/CC/rw6/rw/idlist.h
include/CC/rw6/rw/instmgr.h
include/CC/rw6/rw/islist.h
include/CC/rw6/rw/iterator.h
include/CC/rw6/rw/locale.h
include/CC/rw6/rw/mempool.h
include/CC/rw6/rw/message.h
include/CC/rw6/rw/model.h
include/CC/rw6/rw/mutex.h
include/CC/rw6/rw/ordcltn.h
include/CC/rw6/rw/pstream.h
include/CC/rw6/rw/pvector.h
include/CC/rw6/rw/queuecol.h
include/CC/rw6/rw/ref.h
include/CC/rw6/rw/regexp.h
include/CC/rw6/rw/rstream.h
include/CC/rw6/rw/rwassert.h
include/CC/rw6/rw/rwbag.h
include/CC/rw6/rw/rwdate.h
include/CC/rw6/rw/rwerr.h
include/CC/rw6/rw/rwfile.h
include/CC/rw6/rw/rwint.h
include/CC/rw6/rw/rwset.h
include/CC/rw6/rw/rwstring.h
include/CC/rw6/rw/rwtime.h
include/CC/rw6/rw/rwtsd.h
include/CC/rw6/rw/seqcltn.h
include/CC/rw6/rw/slist.h
include/CC/rw6/rw/slistcol.h
include/CC/rw6/rw/sortvec.h
include/CC/rw6/rw/stackcol.h
include/CC/rw6/rw/tasslnk.cc
include/CC/rw6/rw/tasslnk.h
include/CC/rw6/rw/tbitvec.cc
include/CC/rw6/rw/tbitvec.h
include/CC/rw6/rw/tidlist.cc
include/CC/rw6/rw/tidlist.h
include/CC/rw6/rw/timer.h
include/CC/rw6/rw/tislist.cc
include/CC/rw6/rw/tislist.h
include/CC/rw6/rw/tooldefs.h
include/CC/rw6/rw/toolerr.h
include/CC/rw6/rw/tpdlist.cc
include/CC/rw6/rw/tpdlist.h
include/CC/rw6/rw/tphasht.cc
include/CC/rw6/rw/tphasht.h
include/CC/rw6/rw/tphdict.cc
include/CC/rw6/rw/tphdict.h
include/CC/rw6/rw/tphset.cc
include/CC/rw6/rw/tphset.h
include/CC/rw6/rw/tpordvec.cc
include/CC/rw6/rw/tpordvec.h
include/CC/rw6/rw/tpsldict.cc
include/CC/rw6/rw/tpsldict.h
include/CC/rw6/rw/tpslist.cc
include/CC/rw6/rw/tpslist.h
include/CC/rw6/rw/tpsrtvec.cc
include/CC/rw6/rw/tpsrtvec.h
include/CC/rw6/rw/tpvector.h
include/CC/rw6/rw/tqueue.h
include/CC/rw6/rw/tstack.h
include/CC/rw6/rw/tvdlist.cc
include/CC/rw6/rw/tvdlist.h
include/CC/rw6/rw/tvhasht.cc
include/CC/rw6/rw/tvhasht.h
include/CC/rw6/rw/tvhdict.cc
include/CC/rw6/rw/tvhdict.h
include/CC/rw6/rw/tvhset.cc
include/CC/rw6/rw/tvhset.h
include/CC/rw6/rw/tvordvec.cc
include/CC/rw6/rw/tvordvec.h
include/CC/rw6/rw/tvref.cc
include/CC/rw6/rw/tvref.h
include/CC/rw6/rw/tvrtarry.cc
include/CC/rw6/rw/tvrtarry.h
include/CC/rw6/rw/tvsldict.cc
include/CC/rw6/rw/tvsldict.h
include/CC/rw6/rw/tvslist.cc
include/CC/rw6/rw/tvslist.h
include/CC/rw6/rw/tvsrtvec.cc
include/CC/rw6/rw/tvsrtvec.h
include/CC/rw6/rw/tvvector.cc
include/CC/rw6/rw/tvvector.h
include/CC/rw6/rw/vpage.h
include/CC/rw6/rw/vref.h
include/CC/rw6/rw/vstream.h
include/CC/rw6/rw/wstring.h
include/CC/rw6/rw/wtoken.h
include/CC/rw6/rw/xdrstrea.h
include/CC/rw6/rw/zone.h
include/CC/rw7/rw/rwalloc.h
include/CC/rw7/rw/thashfun.h
lib/cg/model_cg_super2.so.2
lib/cg/model_cg_ultra.so.2
lib/libC.a
lib/libcomplex.a
lib/libcomplex.so.5
lib/libp/rw6/librwtool.a
lib/libp/rw7/librwtool.a
lib/rw6/librwtool.a
lib/rw7/librwtool.a
lib/rw7/librwtool.so.2
lib/rw7/librwtool_dbg.a

Problem Description: 
(Rev 7)
1224985 ostream overloaded operator "<<" doesn't seem to work correctly
1265563 With RWLocaleSnapshot, NaN/Inf doubles cause infinite loop in asString method
4028292 libcomplex: overflow in exp((-1000, 0))
4044133 dynamic_cast on iostreams causes Segmentation Fault(coredump)
4050683 template is not getting properly instanciated with C++ 4.2
4050876 dynamic_cast won't let you cast to derived type
4064298 C++ compiler converts "vector delete" to plain "operator delete" w/ no warning
4066271 C++ has a problem with a copy constructor using virtual and multiple inheritance
4067988 C++ 4.2 copy constructor problem
4068034 typedef within class is global in scope instead of restricted to class
4080025 when readline on record which is 239 bytes long it core dumps. 238 and 240 work
4081421 This program demonstrates an ugly bug when copying objects.
4081663 C++ 4.2: signals SIGBUS or SIGSEGV while compiling with option +d
4082049 C++ 4.2 Typedef scope problem
4082776 dynamic casting ostream() call problem - runtime core dump
4083233 dynamic_cast doesn't work for const references
4083417 Template instantiation is generating an assertion in the compiler
4086206 #pragma pack versus static initialization => misaligned data in .asm source
4087521 CC -xM1 output seems to depend on the use of "pipe" or not.
4088228 C++ code compiles under 3.0.1 and fails under 4.2 with RWTValHashDictionary
4089011 Deadlock in IOStream::InitLock while processing .init sections SunOS 5.5.1: linker patch
4091451 Rogue Wave library problem with C++ 4.2
4091607 Inlined function generates incorrect code
4092166 C++ compiler dies with signal 11 when compiling template code
4094907 C++ compiler linking errors with the Sun Performance Library
4095428 There appears to be a memory leak of 512 bytes occasionally when operator new []
4095545 C++ 4.2 gets signal 11 @ compile time.
4096164 C++ 4.2 inline functions are placed in Templates.DB with LOCL linkage
4097231 c++ 4.2 fails w/Signal 10: while processing ./SUNPRO/rw/stdex/lhash.h at line
4099207 Possible bug with C++ 4.2!
4100612 strstream not working correctly within libC.so.5
4100882 2.6 C++ 4.2 runtime library prob with strstream.
4102613 Compile fails with signal 11 using C++ 4.2 with patch 104631-05.
4104811 c++ 4.2 ccfe faults with a Signal 11 when compiling c++ module
4106809 after exception is thrown a destructor is called twice on the same object
4109013 nst variables initialization fails with C++ 4.2
4113130 c++ 4.2/rw/SCL exception.h line 53: error: no throw clause in set_terminate
4114550 dynamic cast of a null pointer causes a SEGV
4116182 compiling a code with const_cast gives Signal 11
4119513 c++ 4.2, ccfe gives internal error against foc buffer if compiled with -sb
4119968 c++ 4.2 generates errors when re-instanciating intermittantly.
4120853 C++ 4.2: codegen fails at any optimization level
4121018 dbx reporting RUA errors against sync_with_stdio
4122885 compilers fail if the directory path is very long
4123883 Error in Exception Handling
4127741 ested arithmetic if operator functionality failing
4133851 C4.2 C++ does not compile initializations correctly.
4134073 ccfe in c++ 4.2 hangs

(Rev 6)
4010697 built-in assembler mishandles weak aliases
4080622 The comparision of LongLong value with ZERO is failed
4099094 f77 v4.2: cg: cg_memory_allocation.malloc: out of memory

(Rev 5)
4077685 SC4.2 Fatal error 136 in iropt
4035112 4.2 C compiler -xO3 optimization fails in iropt routine
4042253 SC4.2 optimizer produces incorrect double-indexed store byte instruction
4075414 cg eliminates a cmp instruction that it shouldn't

(Rev 4)
4005413 throw is not thread safe
4074505 Unclear Error message in C++ 4.2 template code (Versant)
4014334 Exception test case causes segmentation fault in execution
4043223 Add a capability for semi-manual template instantiation.
4069438 temporary objects don't call the explicit constructor and mishandle the
destruct
4063599 default constructor on a class not called when use -pto option
4058728 SC4.2 C++ compiler does not compile preprocessor output RFE:
preprocessor C and C++ support "-nocurrent_include"
4067650 SPARCworks C++ 4.2 trouble compiling templates.
4056485 Assertion: (../../front/src/multiple.cc, line 88)
4054280 customer is getting error on inline functions (104631-02)
4054708 Signal 11: while processing reverse.C at line 14
4016586 C++ 4.2 gives assertion error for STL test; compiles fine with C++ 4.1
4016600 C++ 4.2 issues several errors for STL test case that compiles fine with
4.1
4042735 compiler destructs object that was never constructed
4041590 not recognizing template int parameter as a constant expression
4048106 "unusable in a default parameter" bug in C++ SC4.2.
4049673 c++filt does not close files
4031839 functions placed in Templates.DB with LOCL linkage rather than GLOB
4052885 Compiler dies with SIGNAL 11

(Rev 3)
4038784 .readLine() does not truncate properly with C++ 4.2 RW 7.0.2

(Rev 2)
4014569 Incorrect redefinition error in template handling.
4030203 Add manual instantiation.
4012089 Type problem using C++ 4.1 on Solaris 2.4 and 2.5.
4035206 template parameter and argument mismatch
4028596 RTTI: typeid gives the wrong type
4017523 Stubbed thr_keycreate leads to core dump.
4016981 Templates not instantiated if header file does not have .h or .hpp extension
4022750 C++ multi-threaded code generates a signal fault in critical section
4038423 Attempt to use dynamic_cast fails in some cases.
4037602 Missing vtable when instantiating member classes inheriting from a class.
4042420 core dump in templates
4006956 The C++ compiler does not support the syntax '#pragma pack()'
1236812 typedef within a class declaration should not be global

(Rev 1)
4017854 message 536 (Database corrupt or from an older compiler...) is probably not wrap
4018967 Some messages have hard-coded string.
4022750 C++ multi-threaded code generates a signal fault in critical section
1260259 Bug with coverting 4 byte code to 2 bytes.
4012816 Compiler SEGV's on template test case
4009400 C++ preprocessor truncate big macro expansion without any message
4008555 C++ 4.2 beta: can't define (-D) and undefine (-U) same variable
4010497 -U cmd line option doesn't work in CC4.2
4011108 Compiler gives bogus error about an inline body not being defined


Patch Installation Instructions:
--------------------------------
Refer to the Install.info file for instructions on using the
generic 'installpatch' and 'backoutpatch' scripts provided with
each patch.  Any other special or non-generic installation
instructions should be described below as special instructions.

Special Install Instructions:
-----------------------------
None.

