<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><br id="lineBreakAtBeginningOfMessage"><div><br><blockquote type="cite"><div>On Sep 30, 2024, at 11:21 AM, RAJAN BHAKTA <rbhakta@us.ibm.com> wrote:</div><br class="Apple-interchange-newline"><div><meta charset="UTF-8"><div class="WordSection1" style="page: WordSection1; caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">Hello,<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);"><o:p> </o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);">Summary for this morning:<o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);">N3286 Floating-point exceptions for macro replacements:<o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);"> Straw poll: Adopt N3286 in C2Y?<o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);"> 10+6/0/6. 16/0/6. Passes.<o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);"> ^AI: Ballman: Put N3286 to the list of retroactive changes to previous standards.<o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);"><o:p> </o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);">N3287 Nonsensical Parenthetical:<o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);"> Straw poll: Put N3287 in C2Y?<o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);"> 10+8/0/4. 18/0/4. Passes.<o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);"><o:p> </o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);">N3288 Give consistent wording for SNAN initialization<o:p></o:p></span></div><div style="border-width: medium medium 1pt; border-style: none none solid; border-color: currentcolor currentcolor windowtext; border-image: none; padding: 0in 0in 1pt;"><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif; border: medium; padding: 0in;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);"> Request to have N3288 say translation time instead of static storage duration.<o:p></o:p></span></div></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);"><o:p> </o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);">With regards to the last item, here is a proposed update. Please let me know if you have any issues with it:</span></div></div></div></blockquote><div><br></div><blockquote type="cite"><div><div class="WordSection1" style="page: WordSection1; caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);"><o:p></o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><span style="font-family: Calibri, sans-serif; color: rgb(33, 33, 33);"><o:p> </o:p></span></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">Proposal for C2Y<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">WG14 Nxxxx (revision 2 of N3288)<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">Title: Give consistent wording for SNAN initialization<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">Author, affiliation: C FP group<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">Date: 2024-09-30<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">Proposal category: Editorial<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">Reference: Base document: N3220<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">Changes from N3288 (1st version):<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"> - As per WG14 preference (to include constexpr), the "translation time" wording is selected instead.<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">Proposal:<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"> <o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">SNAN used at translation time has different wording in two places: 5.2.4.2.2#22 mentions SNAN for translation time initializer, while H.3#6 mentions static or thread storage duration. There should be consistent wording in both places. In the following, "translation time" phrase is used to maintain consistency. In addition, binding of the "optional unary + or - operator" phrase may be confusing so it is moved to make it more clear that you can have +, -, or no preceding operator for a signaling NaN macro.<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">Proposed changes:<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">Change H.3#6 (in N3220) from:<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">If an optional unary + or - operator followed by a signaling NaN macro is used for initializing an object of the same type that has static or thread storage duration, the object is initialized with a signaling NaN value.<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><o:p> </o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">To:<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"> <o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">If a signaling NaN macro, optionally preceded by the unary + or – operator, is used for initializing an object of the same type that is evaluated at translation time, the object is initialized with a signaling NaN value.</div></div></div></blockquote><div><br></div>Two issues:</div><div><br></div><div>1. Objects aren’t evaluated. It would need to say something like </div><div><br></div><div>“… is used for initializing an object of the same type and the initializer is evaluated at translation time, the object is initialized with a signaling NaN value.”</div><div><br></div><div>or</div><div><br></div><div>“… Is used as an initializer that is evaluated at translation time to initialize an object of the same type, the object is initialized with a signaling NaN value.”</div><div><br></div><div><br></div><div>2. If the standard says “evaluated at translation time” is it clear that the reference is to semantics and not a possible optimization?</div><div><br></div><div>E.g. For</div><div><br></div><div>#pragma STDC FENV_ACCESS OFF</div><div>auto double x = SNAN;</div><div><br></div><div>The evaluation of SNAN is semantically runtime, but could be done at translation time as an optimization because of the pragma. However, the (semantically runtime) evaluation of SNAN results in a quiet NaN regardless of when the implementation evaluates it.</div><div><br></div><div>- Jim Thomas</div><div><br></div><div> <br><blockquote type="cite"><div><div class="WordSection1" style="page: WordSection1; caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"><o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"> <o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">Change 5.2.5.3.2#28 (in N3220) from:<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"> <o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">If an optional unary + or - operator followed by a signaling NaN macro is used as an initializer that is evaluated at translation time, the object is initialized with a signaling NaN value.<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"> <o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">To:<o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;"> <o:p></o:p></div><div style="margin: 0in; font-size: 11pt; font-family: Aptos, sans-serif;">If a signaling NaN macro, optionally preceded by the unary + or – operator, is used for initializing an object of the same type that is evaluated at translation time, the object is initialized with a signaling NaN value.<o:p></o:p></div></div><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">_______________________________________________</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">Cfp-interest mailing list</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><a href="mailto:Cfp-interest@oakapple.net" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Cfp-interest@oakapple.net</a><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><a href="http://mailman.oakapple.net/mailman/listinfo/cfp-interest" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">http://mailman.oakapple.net/mailman/listinfo/cfp-interest</a></div></blockquote></div><br></body></html>