K 10 svn:author V 3 bde K 8 svn:date V 27 2008-01-17T17:02:11.000000Z K 7 svn:log V 613 Add a macro STRICT_ASSIGN() to help avoid the compiler bug that assignments and casts don't clip extra precision, if any. The implementation is to assign to a temporary volatile variable and read the result back to assign to the original lvalue. lib/msun currently 2 different hard-coded hacks to avoid the problem in just a few places and needs it in a few more places. One variant uses volatile for the original lvalue. This works but is slower than necessary. Another temporarily casts the lvalue to volatile. This broke with gcc-4.2.1 or earlier (gcc now stores to the lvalue but doesn't load from it). END