This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Including <iostream> affects whether or not program freezes?
On Sat, Jul 12, 2008 at 9:38 PM, James Gregory <james.jrg@gmail.com> wrote:
In a more readable fashion, the difference between the two versions is:
///////////////
Include <iostream>, no freeze:
///////////////
;; Function bool AIInterpreter::is_group_like_this(int, int, bool,
bool) (_ZN13AIInterpreter18is_group_like_thisEiibb)
Removing basic block 39
bool AIInterpreter::is_group_like_this(int, int, bool, bool) (this,
n_side, n_group, discount_dead, discount_our)
{
unsigned char temp.4650;
unsigned char temp.4649;
unsigned char temp.4648;
const unsigned char * D.86270;
unsigned char D.86219;
const unsigned char * D.86202;
unsigned char D.86165;
const unsigned char * D.86148;
<L39>:;
D.86165 = *D.86148;
if (D.86165 == 157) goto <L36>; else goto <L40>;
<L40>:;
if (D.86165 == 158) goto <L36>; else goto <L166>;
<L166>:;
D.86148 = this->l_iter._M_current + 1B;
this->l_iter._M_current = D.86148;
if (this->l_end._M_current == D.86148) goto <L36>; else goto <L39>;
///////////////
Don't include <iostream>, freeze:
///////////////
;; Function bool AIInterpreter::is_group_like_this(int, int, bool,
bool) (_ZN13AIInterpreter18is_group_like_thisEiibb)
Removing basic block 39
bool AIInterpreter::is_group_like_this(int, int, bool, bool) (this,
n_side, n_group, discount_dead, discount_our)
{
const unsigned char * this___l_iterthis__I___M_currentthis____.4618;
const unsigned char * this___l_iterthis__I___M_currentthis____.4617;
const unsigned char * this___l_iterthis__I___M_currentthis____.4616;
unsigned char D.86198;
unsigned char D.86144;
<L120>:;
this___l_iterthis__I___M_currentthis____.4616 = (const unsigned char
*) ((long unsigned int) D.86143 + 1);
Invalid sum of incoming frequencies 873, should be 0
<L40>:;
this___l_iterthis__I___M_currentthis____.4616 = (const unsigned char
*) ((long unsigned int) this___l_iterthis__I___M_currentthis____.4616
+ 1);
if (D.86144 == 157) goto <L162>; else goto <L40>;
Invalid sum of incoming frequencies 0, should be 301
<L162>:;
this->l_iter._M_current = this___l_iterthis__I___M_currentthis____.4616;
D.68741 = 0;
goto <bb 42> (<L174>);