<font size=2 face="sans-serif">2015/03/17, 12:00 EST:</font>
<br><font size=2 face="sans-serif"> Attendees: Rajan, Jim, Fred,
Vincent, David, Ian</font>
<br>
<br><font size=2 face="sans-serif"> New agenda items:</font>
<br><font size=2 face="sans-serif"> None.</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> Sticky action items:</font>
<br><font size=2 face="sans-serif"> None.</font>
<br>
<br><font size=2 face="sans-serif"> Last meeting action items:</font>
<br><font size=2 face="sans-serif"> David: Part 5: Write up
a proposal for what the FENV_REPRODUCIBLE pragma means. - Done (by Jim)</font>
<br><font size=2 face="sans-serif"> David: Part 5: Write up
a proposal for alternate exception handling. - Done (by Jim)</font>
<br><font size=2 face="sans-serif"> Jim: Part 5: p4: Line
27: The STDC pragmas should be FENV_ prefixed. - Done</font>
<br><font size=2 face="sans-serif"> Jim: Part 5: p5: Line
20: x * y should be x + y. - Done</font>
<br><font size=2 face="sans-serif"> Jim: Part 5: p5: Line
33: x / y = x * (1 / z) --> x / y = x * (1 / y). - Done</font>
<br><font size=2 face="sans-serif"> Jim: Part 5: p6: Add a
note saying that the optimizations do not have to be consistent. - Done</font>
<br><font size=2 face="sans-serif"> Jim: Part 5: Some dash's
have become hyphens throughout the document. - Done</font>
<br><font size=2 face="sans-serif"> Jim: Part 5: p6: Add a
note saying 754 says synthesis where we say contract. - Done</font>
<br><font size=2 face="sans-serif"> Jim: Part 5: p7: Need
example for contract operation conversion. Ex. float a = b * c (where b,
c can be double's, and allow a single rounding). - Done</font>
<br>
<br><font size=2 face="sans-serif"> New action items:</font>
<br><font size=2 face="sans-serif"> Jim: cfp5-diff-20150211-20150309.pdf:
p4: Line 28: Check if 'indeterminate' is the right term. </font>
<br><font size=2 face="sans-serif"> Jim: cfp5-diff-20150211-20150309.pdf:
p8: State what the default state is for #pragma STDC FENV_REPRODUCIBLE
and what happens when it is OFF.</font>
<br><font size=2 face="sans-serif"> Jim: cfp5-diff-20150211-20150309.pdf:
p9: Line 5: program code -> something else such as 'code sequence' or
'code segment' or 'Following are requirements for code in the whole program
or part of a program'.</font>
<br><font size=2 face="sans-serif"> Jim: cfp5-diff-20150211-20150309.pdf:
p9: Line 10: Note that we need to make sure functions with two or more
arguments (since the order of evaluation of them is not fixed) is handled.</font>
<br><font size=2 face="sans-serif"> Jim: cfp5-diff-20150211-20150309.pdf:
p9: Line 32: The other fused multiply functions need to be listed here.</font>
<br><font size=2 face="sans-serif"> Jim: cfp5-diff-20150211-20150309.pdf:
p9: Line 36: Remove "propagation, "</font>
<br><font size=2 face="sans-serif"> Jim: cfp5-diff-20150211-20150309.pdf:
p9: Line 37: Look into tightening the underflow and inexact part.</font>
<br><font size=2 face="sans-serif"> Jim: cfp5-diff-20150211-20150309.pdf:
p10: Line 12: Change the statement to make sure that style 'a' applies
to the entire statement.</font>
<br><font size=2 face="sans-serif"> Jim: cfp5-20150317.pdf:
p10: Line 8: unspecified -> indeterminate</font>
<br><font size=2 face="sans-serif"> Jim: cfp5-20150317.pdf:
p10: Line 16: unspecified -> indeterminate</font>
<br><font size=2 face="sans-serif"> Jim: cfp5-20150317.pdf:
p10: Line 16: Remove duplicated text.</font>
<br><font size=2 face="sans-serif"> Jim: Part 5: Reproduciblity:
Add in don't use alternate exception handling.</font>
<br><font size=2 face="sans-serif"> Jim: Make the updates
to part 5 and poll the group to see what to do for the C meeting.</font>
<br>
<br><font size=2 face="sans-serif"> Next Meeting:</font>
<br><font size=2 face="sans-serif"> April 7th, 2015, 12:00
EST, 9:00 PDT</font>
<br><font size=2 face="sans-serif"> Same teleconference number.</font>
<br>
<br><font size=2 face="sans-serif"> Discussion:</font>
<br><font size=2 face="sans-serif"> Part 1: Published.</font>
<br>
<br><font size=2 face="sans-serif"> Part 2: Published.</font>
<br><font size=2 face="sans-serif"> Was published before
we had a chance to review ISO edits.</font>
<br><font size=2 face="sans-serif"> The document will
have to be republished.</font>
<br><font size=2 face="sans-serif"> Waiting for draft
from ISO to make fixes.</font>
<br>
<br><font size=2 face="sans-serif"> Part 3: USA has balloted
already, Canada will ballot before the end of the month, international
is still open.</font>
<br>
<br><font size=2 face="sans-serif"> Part 4: USA has balloted
already, Canada will ballot before the end of the month, international
is still open.</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> Part 5:</font>
<br><font size=2 face="sans-serif"> What should we
do for Part 5 with regards to the WG14 meeting?</font>
<br><font size=2 face="sans-serif"> Consensus
to not present it for a vote since it is not anywhere near ready for that.</font>
<br><font size=2 face="sans-serif"> Better to
send it even though we know it needs a lot of work or wait until we get
a more solid document.</font>
<br><font size=2 face="sans-serif"> We are taking
the preliminary comments and reacting to them.</font>
<br><font size=2 face="sans-serif"> May have
ISO work item timing issues.</font>
<br><font size=2 face="sans-serif"> We could
show the parts of part 5 that are relatively solid to show progress.</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> cfp5-diff-20150211-20150309.pdf:</font>
<br><font size=2 face="sans-serif"> p4: Line
28: indeterminate -> unspecified. Since indeterminate can have traps.</font>
<br><font size=2 face="sans-serif"> *ToDo: Jim:
Part 5: p4: Line 28: Check if 'indeterminate' is the right term. </font>
<br><font size=2 face="sans-serif"> Does disallow
* mean no optimization is allowed even if there is no change in result?</font>
<br><font size=2 face="sans-serif"> No.
The "as-if" law applies.</font>
<br><font size=2 face="sans-serif"> Is it clear
that you cannot reassociate integer assocations (due to overflow)?</font>
<br><font size=2 face="sans-serif"> We
are only dealing with the floating point. The regular standard should deal
with this.</font>
<br><font size=2 face="sans-serif"> An operation
that produces the same value but with different exceptions: Should this
be listed?</font>
<br><font size=2 face="sans-serif"> The
"as if" rule applies here too.</font>
<br><font size=2 face="sans-serif"> Should
this be covered under the value changing optimizations?</font>
<br><font size=2 face="sans-serif">
No, since it is not changing the value.</font>
<br><font size=2 face="sans-serif"> This means
that value changing optimizations can change the exceptions.</font>
<br><font size=2 face="sans-serif"> Note that
different compilers may have exceptions emitted in different order. This
means you may not have reproducible behaviour even with reproducible behaviour
turned on.</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> p8: Nothing
said about the pragma state being off.</font>
<br><font size=2 face="sans-serif"> p8: Nothing
said about the default state.</font>
<br><font size=2 face="sans-serif"> *ToDo: Jim:
Part 5: p8: State what the default state is for #pragma STDC FENV_REPRODUCIBLE
and what happens when it is OFF.</font>
<br><font size=2 face="sans-serif"> *ToDo: Jim:
Part 5: p9: Line 5: program code -> something else such as 'code sequence'
or 'code segment' or 'Following are requirements for code in the whole
program or part of a program'.</font>
<br><font size=2 face="sans-serif"> *ToDo: Jim:
Part 5: p9: Line 10: Note that we need to make sure functions with two
or more arguments (since the order of evaluation of them is not fixed)
is handled.</font>
<br><font size=2 face="sans-serif"> *ToDo: Jim:
Part 5: p9: Line 32: The other fused multiply functions need to be listed
here.</font>
<br><font size=2 face="sans-serif"> p9: Issue
1: Basically means if not depending on the exception, then it is OK to
use it.</font>
<br><font size=2 face="sans-serif"> p9: line
36: Why is quiet NaN listed?</font>
<br><font size=2 face="sans-serif"> Jim:
You do have to return qNaN's but it is not necessarily the same one.</font>
<br><font size=2 face="sans-serif"> Fred:
Payloads or sign bits cover everything.</font>
<br><font size=2 face="sans-serif"> *ToDo: Jim:
Part 5: p9: Line 36: Remove "propagation, "</font>
<br><font size=2 face="sans-serif"> p9: line
37: Why underflow?</font>
<br><font size=2 face="sans-serif"> Jim:
underflow is optional (before or after) in IEEE. Not sure about inexact.</font>
<br><font size=2 face="sans-serif"> David:
Not sure why this is in the IEEE standard.</font>
<br><font size=2 face="sans-serif"> *ToDo: Jim:
Part 5: p9: Line 37: Look into tightening the underflow and inexact part.</font>
<br><font size=2 face="sans-serif"> p10: Line
10: Issue 2: We are differing from IEEE here.</font>
<br><font size=2 face="sans-serif"> *ToDo: Jim:
Part 5: p10: Line 12: Change the statement to make sure that style 'a'
applies to the entire statement.</font>
<br><font size=2 face="sans-serif"> What is
the issue with remquo?</font>
<br><font size=2 face="sans-serif"> Implementation
defined how many bits are returned as part of the quotient.</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> Is this
what we are looking for for this section?</font>
<br><font size=2 face="sans-serif"> Consensus
is yes.</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> cfp5-20150317.pdf:</font>
<br><font size=2 face="sans-serif"> Date is
wrong on alternate pages.</font>
<br><font size=2 face="sans-serif"> p9: line
29: May happen for operations some times and not others (not always for
the same operation).</font>
<br><font size=2 face="sans-serif"> p10: line
8: unspecified -> indeterminate. Due to unsequenced non-atomic updates
possibly resulting in trap representations.</font>
<br><font size=2 face="sans-serif"> *ToDo: Jim:
Part 5: p10: Line 8: unspecified -> indeterminate</font>
<br><font size=2 face="sans-serif"> *Issue:
Part 5: p10: Line 4: What is termination of the compound statement? If
the compound statement is a function?</font>
<br><font size=2 face="sans-serif"> *ToDo: Jim:
Part 5: p10: Line 16: unspecified -> indeterminate</font>
<br><font size=2 face="sans-serif"> *ToDo: Jim:
Part 5: p10: Line 16: Remove duplicated text.</font>
<br><font size=2 face="sans-serif"> p10: line
25: Issue: *<Missed this part due to phone issues></font>
<br><font size=2 face="sans-serif"> Suggestion:
Put the name of the action before the description.</font>
<br><font size=2 face="sans-serif"> Following
the C standard layout hence the way it is now.</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> Could do liaison
report or posting it, or posting it but not making it a paper to review
in the meeting.</font>
<br><font size=2 face="sans-serif"> Can explain
the 4 areas we are talking about without mentioning the details, but it
may not register with people.</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif"> *ToDo: Jim: Part
5: Reproducibility: Add in don't use alternate exception handling.</font>
<br><font size=2 face="sans-serif"> *ToDo: Jim: Make
the updates to part 5 and poll the group to see what to do for the C meeting.</font>
<br><font size=2 face="sans-serif"> </font>
<br><font size=2 face="sans-serif">Regards,<br>
<br>
Rajan Bhakta<br>
z/OS XL C/C++ Compiler Technical Architect<br>
ISO C Standards Representative for Canada<br>
C Compiler Development<br>
Contact: rbhakta@us.ibm.com, Rajan Bhakta/Houston/IBM</font>