www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/09/28/18:30:18

From: Endlisnis <s257m AT unb DOT ca>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: How can I tell if it's a bug from DJGPP or GCC?
Date: Mon, 28 Sep 1998 19:03:58 -0300
Organization: BrunNet
Lines: 61
Message-ID: <361007CD.9A07A71D@unb.ca>
References: <6u7smk$9t7$1 AT nnrp1 DOT dejanews DOT com>
NNTP-Posting-Host: usr4fton18.brunnet.net
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

D DOT J DOT Eleveld AT anest DOT azg DOT nl wrote:

> class singelton
> {
>  private:
>    singelton() { };
>    ~singelton() { };
>
>  public:
>    static singelton instance;
> };
>
> singelton singelton::instance;

    That variable is instanced globally, so the destruction has to happen
globally.

> #include <stdio.h>
>
> enum index { zero = 0,
>              one,
>              two,
>              three,
>              four
>            };
>
> index GetVariable()
> {
>   return zero;
> }
>
> /* This assignment seems to be being skipped */
> const index problem = GetVariable();
>
> void Test(index event)
> {
>   switch(event)
>   {
>     /* Error occurs here */
>     case problem:
>       break;
>     default:
>   }
>
> }
> bug2.cc:25: case label `problem' does not reduce to an integer constant

    The value of 'problem' cannot be evaluated at compile time.  I does not look
at your code to find out that the function is a simple assignment, because it
might not.  It might be an infinite loop, how long is the compiler supposed to
try to figure out what the value will be?  4 seconds... 10 seconds... 100
seconds...  The reason why this doesn't work, is because there is no way of 100%
gaurenteeing the value of a function (it might pick a random value out of
memory).
--
     (\/) Endlisnis (\/)
          s257m AT unb DOT ca
          Endlisnis AT GeoCities DOT com
          Endlisnis AT BrunNet DOT Net


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019