<span style=" font-size:10pt;font-family:sans-serif">For my action item:</span><br><span style=" font-size:10pt;font-family:sans-serif">&nbsp; &nbsp;
Rajan: Ensure casting to _Float16 won't cause a problem with the using
INFINITY wherever a constant expression can be used change we proposed.</span><br><br><span style=" font-size:10pt;font-family:sans-serif">From 6.6p1, it
fits the description.</span><br><span style=" font-size:10pt;font-family:sans-serif">From 6.6p3 and
4 (constraints), none are violated.</span><br><span style=" font-size:10pt;font-family:sans-serif">From 6.6p6 has
floating constants as immediate operands of casts which applies if INFINITY
is a floating constant.</span><br><span style=" font-size:10pt;font-family:sans-serif"><b>From 6.6p8
has casts on converting arithmetic to arithmetic types which fits this
case as _Float16 is an interchange type which is a real floating type which
is a floating type which is an arithmetic type, and INFINITY has a real
floating type.</b></span><br><span style=" font-size:10pt;font-family:sans-serif">From 6.4.4.2 it
says INFINITY is not directly a floating constant (from the grammar). It
needs to be constructed out of a digit-sequence or some other means.</span><br><span style=" font-size:10pt;font-family:sans-serif">From 6.6p10, implementations
can support other constant expressions. This catch-all seems to allow nearly
anything.</span><br><span style=" font-size:10pt;font-family:sans-serif"><b>From 7.12p4
it says INFINITY IS a constant expression.</b></span><br><br><span style=" font-size:10pt;font-family:sans-serif">So given 7.12p4
+ 6.6p8 I would say that casting to _Float16 will not cause a problem as
long as _Float16.</span><br><br><span style=" font-size:10pt;font-family:sans-serif">Regards,<br><br>Rajan Bhakta<br>z/OS XL C/C++ Compiler Technical Architect<br>ISO C Standards Representative for Canada, PL22.11 Chair (USA)<br>C Compiler Development<br>Contact: rbhakta@us.ibm.com, Rajan Bhakta/Houston/IBM</span><BR>