This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mark.dickinson
Recipients doko, eric.smith, mark.dickinson
Date 2010-07-10.18:37:41
SpamBayes Score 0.0011330737
Marked as misclassified No
Message-id <1278787062.7.0.69525087856.issue9215@psf.upfronthosting.co.za>
In-reply-to
Content
I managed to reproduce this with Ubuntu 10.10 and the gcc-snapshot package.  I've shrunk it to the following (no floating-point in sight!):


/* file dtoa.c */

static char s0[12];

char *_Py_dg_dtoa()
{
  char *s = s0;
  *s++ = '9';
  *s++ = '9';
  while(*--s == '9')
    if (s == s0) {
      *s = '0';
      break;
    }
  ++*s;
  return s0;
}

int main(void) {
  char *s;
  s = _Py_dg_dtoa();
  return s[0] != '1';
}

/* end file dtoa.c */


dickinsm@ubuntu:~/bug$ /usr/lib/gcc-snapshot/bin/gcc -O0 dtoa.c && ./a.out && echo "Success" || echo "Failure"
Success
dickinsm@ubuntu:~/bug$ /usr/lib/gcc-snapshot/bin/gcc -O1 dtoa.c && ./a.out && echo "Success" || echo "Failure"
Failure
History
Date User Action Args
2010-07-10 18:37:42mark.dickinsonsetrecipients: + mark.dickinson, doko, eric.smith
2010-07-10 18:37:42mark.dickinsonsetmessageid: <1278787062.7.0.69525087856.issue9215@psf.upfronthosting.co.za>
2010-07-10 18:37:41mark.dickinsonlinkissue9215 messages
2010-07-10 18:37:41mark.dickinsoncreate