[comp.sys.apollo] c++ with cc6.8

wim@es.ele.tue.nl (Wim Philipsen) (03/14/91)

At about the same time we recieved out at&t C++ front-end with the cc6.7, and
on an other tape 6.8. Did anybody have problems with the combination c++ and
cc6.8?
--
__
Wim J. M. Philipsen                         | Phone: +(31)40-473352
Eindhoven University of Technology, Dept. of Electr. Eng. (ES/EH 7.34)
P.O. Box 513, 5600 MB Eindhoven, The Netherlands
Email: wim@es.ele.tue.nl

perty@nmpcad.se (Per Lundholm) (03/15/91)

In article <WIM.91Mar14122747@eutes3.es.ele.tue.nl> wim@es.ele.tue.nl (Wim Philipsen) writes:


>   At about the same time we recieved out at&t C++ front-end with the cc6.7, and
>   on an other tape 6.8. Did anybody have problems with the combination c++ and
>   cc6.8?

Same thing here. I have C++ code that runs if I use cc6.7 but crashes
with a segmentation fault if I use cc6.8.

It happens when calling a virtual function. I haven't been able to
track it down enough to make up an APR.


--
--------------------------------------------------------------------------------
Per.Lundholm@nmpcad.se                               ,____
NMP-CAD                                             /     /
Swedish Institute of Microelectronics              /_____/ ,____  ,__   /     
P.O. Box 1084                                     /       /____/ /  / -/-  \  /
S-164 21 Kista                                   /       (___   /     (_    \/
                                                                          __/
"My mind is a potato field..." /Zippy

vasta@apollo.HP.COM (John Vasta) (03/20/91)

In article <WIM.91Mar14122747@eutes3.es.ele.tue.nl> wim@es.ele.tue.nl (Wim Philipsen) writes:
>
>At about the same time we recieved out at&t C++ front-end with the cc6.7, and
>on an other tape 6.8. Did anybody have problems with the combination c++ and
>cc6.8?

From the release notes for C 6.8 (section 1.10: C++ compatibility):

     To  ensure  compatibility  between  Domain/C Version 6.8 and either version of
     Domain/C++, compile your C++ source files with the -W0,-ncompress option. If
     you  do  not  use  -W0,-ncompress,  constructors  and  destructors  for static
     objects will not execute correctly. 

     To ensure compatibility between Domain/C Version 6.8  and  Domain/C++  Version
     2.0.0,  do  not declare any virtual function inline.  If you declare a virtual
     function inline, a bug in the C++ translator causes it to  generate  incorrect
     C  code, and the C compiler issues an error message.  Since the C++ translator
     ordinarily does not perform inline  expansion  of  virtual  functions  in  any
     case, this restriction usually has no effect on the quality of your code. 

Domain/C++ 2.1 (which should be shipping now) supports the use of compressed
data, so if you get it you can stop turning compression off. The problem with
inline virtual functions still exists, however.

John Vasta                Hewlett-Packard Apollo Systems Division
vasta@apollo.hp.com       M.S. CHR-03-DW
(508) 256-6600 x5978      300 Apollo Drive, Chelmsford, MA 01824
UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!vasta