This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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>);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]