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

Conference turris::decc

Title:DECC
Notice:General DEC C discussions
Moderator:TLE::D_SMITHNTE
Created:Fri Nov 13 1992
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2212
Total number of notes:11045

2188.0. "Internal Compiler Error on Unix 4.0b" by HPCGRP::DEGREGORY (Karen 223-5801) Wed May 14 1997 11:28

If you process the attached code with cc -O0 -c
on Unix V4.0 563 you will get the following message:

GEM ASSERTION, Compiler internal error - please submit problem report
Fatal error in: /usr/lib/cmplrs/cc/gemc_cc Terminated

This problem came up using KAI C++ and the RogueWave libraries.


 enum Grape {
     honeydew
 };
 
 struct RWZone {
     void *fig;
 };
 
 struct Date {
     struct RWZone eggplant;
 };
 
 extern const struct Cherry *Banana (enum Grape);
 
 extern struct Date * Apple (const struct Cherry *rule);
 extern int daylight;
 
 struct RWZone *
 makelocal (void)
 {
   auto struct RWZone *temp3;
   return (temp3 = (&(*(Apple (((daylight) ? 
                                (((const struct Cherry * (*)(enum Grape)) Banana) (honeydew)) :
                                ((const struct Cherry *) 0))
 			      ))).eggplant)), 
          temp3;
 }
 

T.RTitleUserPersonal
Name
DateLines
2188.1I hate it when that happens...DECC::SULLIVANJeff SullivanWed May 14 1997 12:1011
I can reproduce this in the V4.0B compiler (DEC C V5.2-033) and in our
cao52-main stream. The problem goes away if you drop the -O0, which I'm sure
you've noticed.

The problem does not appear to be in the Platinum Minor Field Test Compiler
(DEC C V5.6-059). Note that this compiler uses the Bl33 GEM backend, as opposed
to BL31 and has many front end improvements. This compiler can be used on V4.0
and later systems. If you're interested in field testing that compiler, see
http://www.zk3.dec.com/decc/decc-kitinfo.html.

-Jeff
2188.2Reported as GEM_BUGS 6162DECC::SULLIVANJeff SullivanWed May 14 1997 13:177
How important is this problem?
Can the user live with the workaround(s)?
That is, do not compile this -O0 or upgrade to the V5.6 (Field test) compiler.
(Or wait for fix in Digital UNIX V4.0D).

Thanks,
-Jeff