Searched hist:229590 (Results 1 - 1 of 1) sorted by relevance

/freebsd-10-stable/include/
H A Dcomplex.hdiff 229590 Thu Jan 05 10:09:29 MST 2012 ed Make _Complex_I a proper float _Complex when using GCC 4.2.

It turns out our GCC has quite an interesting bug:

typeof(1.0fi) != float _Complex
typeof((float _Complex)1.0fi) != float _Complex
typeof((float _Complex)1.0i) == float _Complex

In other words: if casting to an equal size, GCC seems to take a
shortcut. By casting down from a double to a float, GCC doesn't take
this shortcut, yielding the proper type.

To prevent foot-shooting, add a _Static_assert() to guarantee that
_Complex_I is always a float _Complex. I'm not going to MFC this part of
the diff.

MFC after: 2 weeks

Completed in 99 milliseconds