------- Comment #5 from eres at il dot ibm dot com 2007-02-26 13:51 ------- The reason that this tescase fails is because the expansion is been initialized with +0, which means that it's final result will be +0 and not -0 as expected.
expansion += d --> expansion += -0 --> +0 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30957