[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::c_plus_plus

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

3491.0. "GEM assertion error" by NETRIX::"[email protected]" (David LaFrance-Linden) Thu Mar 13 1997 10:52

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.RTitleUserPersonal
Name
DateLines
3491.1Smaller test caseoNETRIX::"[email protected]"David LaFrance-LindenThu Mar 13 1997 10:5922
/*
  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.2Not reproducible with DEC C V5.5-004DECC::SULLIVANJeff SullivanThu Mar 13 1997 12:0422
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