www.delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/1998/07/17/22:51:12

X-pop3-spooler: POP3MAIL 2.1.0 b 4 980420 -bs-
Message-ID: <35AFE2DA.D56DE175@uni-bremen.de>
Date: Sat, 18 Jul 1998 01:48:42 +0200
From: Andreas Schuldei <schuldei AT uni-bremen DOT de>
Organization: education unlimited
X-Mailer: Mozilla 4.04 [en] (X11; I; Linux 2.1.103 i586)
MIME-Version: 1.0
To: beastium-list AT Desk DOT nl
Subject: code optimized away?!
Sender: Marc Lehmann <pcg AT goof DOT com>
Status: RO
X-Status: A
Lines: 40

At work I run egcs-1.0; here at home egcs-1.3a with the pgcc-patch.
the following pice of code ran well at work. here at home the if
statement never seems to evaluate to 1. 

    		  
T[0][Y]=(-0.5*(-2.*t1*t3*t6+t5*t6+t6*t7-6.*t1*t8+6.*t3*t8-6.*cos(t1)+6.*cos(t3)))/t4;

    if ( fabs(T[i][Y]-f)<=(long double)DBL_EPSILON)
    {
        printf("Erfolg");    
        punkt_fertig=1; 
    }

If I enter some nonesense just before if(...) it works correctly again,

   
T[0][Y]=(-0.5*(-2.*t1*t3*t6+t5*t6+t6*t7-6.*t1*t8+6.*t3*t8-6.*cos(t1)+6.*cos(t3)))/t4;

    printf("\r");    
    if ( fabs(T[i][Y]-f)<=(long double)DBL_EPSILON)
    {
        printf("Erfolg");    
        punkt_fertig=1; 
    }
    
    return punkt_fertig;     
}

I tried to declare punkt_fertig as volatile but that did not work. I am
not aware that anything cold be legaly optimized away. Is it a bug or
what?

These are aout of my makefile
CFLAGS = -O6 -mpentium -g -funroll-all-loops -marg-align-double
-mstack-align-double -malign-double

and yes, it works with -O0, but not otherwise (e.g. -O2 does not)

I am not on the list. If you can help me please reply to
schuldei AT andrive DOT de or schuldei AT uni-bremen DOT de

- Raw text -


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