------- Comment #131 from vincent at vinc17 dot org 2009-07-22 17:33 ------- (In reply to comment #130) > #define axiom_order(a,b) !(a < b && b < a) > #define axiom_eq(a) a == a > #define third ((double)atoi("1")/atoi("3")) [...]
> in C99 (+TC1,TC2,TC3) different precision is not allowed It is allowed, except for... > 5.1.2.3 p12: > ... In particular, casts and assignments are required to perform their > specified conversion But a division is not a cast, nor an assignment. > 5.2.4.2.2 p8: > Except for assignment and cast (which remove all extra range and precision), > the values 8 of operations with floating operands and values subject to the > usual arithmetic conversions and of floating constants are evaluated to a > format whose range and precision may be greater than required by the type. A greater precision is OK for division, in particular. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323