| Title: | C++ |
| Notice: | Read 1.* and use keywords (e.g. SHOW KEY/FULL KIT_CXX_VAX_VMS) |
| Moderator: | DECCXX::AMARTIN |
| Created: | Fri Nov 06 1987 |
| Last Modified: | Thu Jun 05 1997 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 3604 |
| Total number of notes: | 18242 |
This may be fixed, or it may have gotten broken. I don't have
the most recent compilers on the most recent OS's, so I don't
know if it is the compiler, something about the OS (unlikely),
or some combination. Here's the smallest I've been able to
reduce this to:
/*
On a V3.2 system using C++ V5.5-003
% cxx -c -g bug.gem.bomb.cc
Assertion failure: Compiler internal error - please submit problem report
GEM ASSERTION, Compiler internal error - please submit problem report
Fatal error in: /usr/lib/cmplrs/cxx/gemc_cxx Terminated
On a V4.0A system using C++ V5.3-004, it doesn't bomb.
*/
class control_variable_rec {
public:
int boolean_value;
int initialized;
};
static control_variable_rec use_virtual_dope__control_var;
static int & use_virtual_dope = ((use_virtual_dope__control_var.initialized
? (1)
: (use_virtual_dope__control_var.boolean_value = (1))),
use_virtual_dope__control_var.boolean_value);
[Posted by WWW Notes gateway]
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 3491.1 | Smaller test caseo | NETRIX::"[email protected]" | David LaFrance-Linden | Thu Mar 13 1997 10:59 | 22 |
/*
On a V3.2 system using C++ V5.5-003
% cxx -c -g bug.gem.bomb.cc
Assertion failure: Compiler internal error - please submit problem report
GEM ASSERTION, Compiler internal error - please submit problem report
Fatal error in: /usr/lib/cmplrs/cxx/gemc_cxx Terminated
On a V4.0A system using C++ V5.3-004, it doesn't bomb.
It appears to be the 'static int & ...' that's confusing it.
If I remove the static it's OK.
*/
class cls {
public:
int value;
};
static cls inst;
static int & var = inst.value;
[Posted by WWW Notes gateway]
| |||||
| 3491.2 | Not reproducible with DEC C V5.5-004 | DECC::SULLIVAN | Jeff Sullivan | Thu Mar 13 1997 12:04 | 22 |
I tried the test in .1 using DEC C++ V5.5-004 on Digital UNIX V4.0. I also tried the same test on V3.2 with a somewhat later development version of the compiler. I was unable to reproduce the problem. % cxx -c -g cpp_3491.cxx % cxx -V cxx (cxx) DEC C++ V5.5-004 on Digital UNIX (Alpha) You could try picking up the latest (SSB) kit, which is available via the web at http://www.zk3.dec.com/decc/decc-kitinfo.html#deccxx_v55 Or see TURRIS::C_PLUS_PLUS Note 3197 for more details. In the example, I don't see why this would behave differently on V3.2, but will investigate that if the latest kit does not resolve the problem. Please let us know what you find out. Thanks, -Jeff | |||||