<font size=2 face="sans-serif">2014/03/18, 12:00 EST:</font>
<br><font size=2 face="sans-serif">&nbsp; <b>Attendees</b>: Jim, Rajan,
David, Mike, Marius</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; <b>New agenda items</b>:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Timing for people available
during the WG14 C meeting and means of contact.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Rajan will attend
in person.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Jim will be on
the phone when he can. Not available on April 11th.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; The meeting time
will be 12:00am - 3am, 4:30am - 7:30am Pacific time, 3-6am, 7:30-10:30am
Eastern time</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; *ToDo: Everyone:
Send Rajan available times for April 7-11th and contact information</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; <b>Old action items</b>:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Jim: Backup the documents
in Word format. - Most current version has been put up. Keep this item
open.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Current files:
</font><a href=http://wiki.edg.com/twiki/pub/CFP/WebHome/cfp1.docx><font size=2 face="sans-serif">http://wiki.edg.com/twiki/pub/CFP/WebHome/cfp1.docx</font></a>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Current files:
</font><a href=http://wiki.edg.com/twiki/pub/CFP/WebHome/cfp2.docx><font size=2 face="sans-serif">http://wiki.edg.com/twiki/pub/CFP/WebHome/cfp2.docx</font></a>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Current files:
</font><a href=http://wiki.edg.com/twiki/pub/CFP/WebHome/cfp3.docx><font size=2 face="sans-serif">http://wiki.edg.com/twiki/pub/CFP/WebHome/cfp3.docx</font></a>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Current files:
</font><a href=http://wiki.edg.com/twiki/pub/CFP/WebHome/cfp4.docx><font size=2 face="sans-serif">http://wiki.edg.com/twiki/pub/CFP/WebHome/cfp4.docx</font></a>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Note: Should also
keep versions that are equivalent to PDF's.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; - Standard practice
now. Remove the item.</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Jim: Part 3: Add explanation
of type classification somewhere in the TS or changes to the standard document.
- Done</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Jim: Page 22: See about
breaking the paragraph up to make it clearer (maybe bullets). - Done</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Jim: Page 44: Remove dN
and dNx since there are no complex decimal types. - Done</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Jim: Part 4: Page 6: Talk
to Fred to see if he is OK with the errors. - Still under discussion</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Jim: Page 15: Move the
cr prefix new text to a footnote. - Done</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Jim: Page 23: Typos (changes
2 and 3): scaled_prod -&gt; scaled_prodsum, scaled_prod -&gt; scaled_proddiff
- Done</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Rajan: Ask WG14 why pole
errors are specified the way they are in the C meeting. - Not done</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; <b>Next Meeting</b>:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; April 15th, 2014, 12:00
EST, 9:00 PDT</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Same teleconference number.</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; <b>New action items</b>:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Everyone: Send Rajan available
times for April 7-11th and contact information.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; David: I will take a pass
at making the first draft of this part (without regard to format/template).
I need someone familiar with C to give me the list of FP pragmas and their
scope and effect.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Jim: Send David the C
floating point pragma scope/effects.</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; <b>Discussion</b>:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Part 1: Out for ISO DTS
ballot. Ballot ends March 5th, 2014.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; No comments so
far.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; If comments come
in before the meeting, we will have an email exchange to prepare recommended
responses to the comments.</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Part 2: Out for first
ISO ballot (PDTS). Ballot ends March 10th, 2014.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; No comments so
far.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; If comments come
in before the meeting, we will have an email exchange to prepare recommended
responses to the comments.</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Part 3: (</font><a href=http://wiki.edg.com/twiki/pub/CFP/WebHome/n1796.pdf><font size=2 face="sans-serif">http://wiki.edg.com/twiki/pub/CFP/WebHome/n1796.pdf</font></a><font size=2 face="sans-serif">)</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Ask for a WG14
review and subsequently a PDTS ballot.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; If a version of
the C standard that can be updated (ex. in LaTeX) can be made available,
we can create a consolidated document.</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Part 4: (</font><a href=http://wiki.edg.com/twiki/pub/CFP/WebHome/n1797.pdf><font size=2 face="sans-serif">http://wiki.edg.com/twiki/pub/CFP/WebHome/n1797.pdf</font></a><font size=2 face="sans-serif">)</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Ask for a WG14
review and subsequently a PDTS ballot.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Not as many dependencies
on previous parts as Part 3.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; March 17th email
exchange: &quot;Too large&quot; and &quot;Too small&quot; terms.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Can we change this
to &quot;Greater than&quot; or &quot;large positive&quot;?</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Differs
from existing C11 practice and wording.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Jim: We have two
choices if we want to change:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; 1) Change
every instance in C11 to &quot;Greater than&quot;</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; 2) Change
Part 4 instances and live with the difference in wording from C11</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; No consensus to
make any change.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Rajan: If this
is a problem, it can be brought up as a defect report against C11 and we
could follow whatever the response is.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; </font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; Part 5: (Attributes email
from Jim sent 2014/03/18)</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Attributes are
like static modes that affect a block of source code.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; The FP pragmas
are an example of that in C.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Affect a
block or everything in the file.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; We can use the
FP pragma model for these attributes or any other form.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; David: We can assign
attributes to operations, though it will probably not be possible in C.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Mike: In Java,
a context was added to each operation, but it is not obvious how this would
be done for C.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; WG14 did not want
to go down the generalized attribute format as C++ did. They preferred
keywords and pragmas.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; The constant rounding
mode pragmas do take parameters, but do not specify operation scope (ex.
in this block, all multiplications will follow this pragma specification)</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Note: OpenMP pragmas
do follow the restricted scope pragmas so it should be easy for most implementers.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; We have already
done the constant rounding mode attributes through pragmas.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Exception Handling:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Detection
of subexceptions:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Ex.
Invalid due to SNaN, or due to 0 * Inf, or due to ...</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Marius:
Subexceptions can be described as priority of exceptions in some documents.
Is this a better way to describe it?</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; David:
Priority is a different issue. Ex. SIMD has two different exceptions in
different data streams. Priorities determine which one is percolated.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Marius:
What about SNaN / 0 and both cases have different exception handling?</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; David:
We need to call it out. Not a part of the general Invalid exception. Another
case could be underflow/overflow with inexact. We say somewhere that exponent
has priority over inexact.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Jim:
I think we also specify the SNaN / 0 case.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; David:
Ex. In some group of code you want 0 / 0 to result in Pi or 1 or whatever,
but leave the other exceptions to the default handling. Another example
is -ve sqrt since you may know it is only due to rounding so it can be
set to zero, and other exceptions are valid.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Resuming
alternate exception handling:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Looks
complete.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Exception
timing:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Delayed:
Default exception handling for within the block, then special at the end
of the block</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Transfer:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Function call?</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; Scope issues for parameters?</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Can't throw directly in C.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Can do the delayed transfer to a function with what we have already through
clearing the flags, run the block, test the flags and call a function based
on the test results.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Sub-exceptions would need to be worked out.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
How well does what we already have in C provide this? If it is not good
enough, we will have to come up with something like a pragma to handle
it.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Preferred width:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Like evaluation
method, but on blocks:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Need
to add something (ex. pragma) that specifies the evaluation method for
the scope of the pragma</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Note: Some
IEEE operations are C functions. The evaluation methods in C apply to operations,
not functions. Ex. sqrt.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; With
the type generics and _t types you should be able to get it for even C
functions.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Value changing
optimization:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; David: I
can see the scope varying from small areas to large areas with some exceptions</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Jim: The
FP_CONTRACT partially does some of these.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Do we need
more discrimination over what the FENV_ACCESS pragma gives?</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Ex. An accuracy
pragma?</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; You can
have:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1)
a control/knob for everything you want to do</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2)
a control/knob for group of things you want to do</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3)
one control: Reproducible mode or non-reproducible mode</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; David: Asking
for standardization is against the conditionally normative approach</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Reproducible results:</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; David: A
high level constraint on optimization.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Would
non-reproducible constructs be a requirement or recommended?</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Jim:
If we can define it precisely, it could be something we can require diagnostics
for.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; Marius:
What is the domain of reproducible? Single thread, particular hardware,
etc.?</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; David:
It should be for any conforming implementation? It would require specifying
the degree of reductions (ex. 2 threads).</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; *ToDo: David: I
will take a pass at making the first draft of this part (without regard
to format/template). I need someone familiar with C to give me the list
of FP pragmas and their scope and effect.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; *ToDo: Jim to send
David the C floating point pragma scope/effects.</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; Should apply to
both BFP and DFP</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; How do the new
types fit into this?</font>
<br>
<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>