1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

Is it a Bug in g++ compiler`s -O flag??

Discussion in 'C++' started by nikhil_dokania, Oct 16, 2006.

Thread Status:
Not open for further replies.
  1. nikhil_dokania

    nikhil_dokania New Member

    The output is different for the following two codes when compiled as : "g++ -O foo.cpp"
    1st COde :
    Code:
    #include<iostream.h>
    #include<math.h>
    int main(){
    	double d=log(8)/log(2);
    	cout<<"d="<<d<<"\t floor(d)="<<floor(d);        //<<"\t"<<floor(10.0)<<"\n";
    	return 0;
    }
    ------------------------------------------------------------------------------------------------------------------
    2nd COde :
    Code:
    #include<iostream.h>
    #include<math.h>
    int main(){
    	double d=log(8)/log(2);
    	cout<<"d="<<d<<"\t floor(d)="<<floor(d)<<"\t"<<floor(10.0)<<"\n";
    	return 0;
    }
    ---------------------------------------------------------------------------------------------------------------

    Expected output : d=3 floor(d)=3 10
    But The First code give : d=3 floor(d)=2 10
    while the second gives the right output.
    Could nyone plz explain whats going wrong!!

    Nikhil
     
    Last edited by a moderator: Oct 17, 2006
  2. shabbir

    shabbir Administrator Staff Member

    Duplicate of [thread=1649]Is it a Bug in g++ compiler`s -O flag?? [/thread]. Thread closed.
     
Thread Status:
Not open for further replies.

Share This Page