[Cfp-interest] WG14 IEEE 754-C binding meeting minutes 2016/01/12

Rajan Bhakta rbhakta at us.ibm.com
Tue Jan 12 11:02:59 PST 2016


Attendees: Rajan, Jim, Fred, David, Mike, Ian

New agenda items:
    Maintenance to the published parts of the TS
    Part 1 comments from Fred

Last meeting action items:
    Ian: Talk to Lawrence Crawl regarding proposing this IEEE-754: 2008 
binding to C++ as well. - In process.
      No response from Lawrence to an email sent by Ian.
    Ian: Update and check the items listed and flagged under 
Feature_List_Part_1. - Not done.
    David: See what Oracle has done for the feature lists. - Done
      Not much present. They do have Fred's test suite. No DFP yet.
 
    Rajan: Get Mike in contact with Jens to get access to the C Standard 
source in the GIT repository. - Done.
      Copy Jim on this as well.
    Jim: p13: line 22: Add in a statement describing the remaining bullets 
to show they are not a complete list. - Done.
    Jim: p17: line 27: List the actions in place of "below" or say "the 
remaining actions in this sub-clause". - Done.
    All: Consider mixed nested try and delayed try blocks and look for 
cases not covered by the specification. - Done. Not reflected in the 
current draft.
    All: Focused Review of part 5 once the updated draft comes out. - 
Delayed to handle comments from Joseph.

New action items:
    Jim: Part 5: Page 2: Review the change to see if clarification is 
needed regarding "after" referring to time or source code.
    Jim: Part 5: Page 18: Line 45: Reword to make it clearer.
    Jim: Part 5: Page 20, 21: Change the '#define n' to '#define 
NUMBER_OF_ELEMENTS'.
    Jim: Part 5: Page 21: Change the "for (i=0;" to "for (int i=0;"
    Jim: Get the changebar'd and dated version of previous TS's on the 
wiki to review.
 
Next Meeting:
    February 16th, 2016, 12:00 EST, 9:00 PDT
    Same teleconference number.

Discussion:
    WG14 mailing is March 14th, 2016. Meeting is April 11-15th, 2016 at 
BSI, London, England.
 
    IEEE 754 revision:
      Progress being made.
      Expecting new policies and procedures.
 
    Arith23:
      Nothing new.
 
    Part 5: Various emails, documents (cfp5-20160105.pdf [
http://wiki.edg.com/bin/login/CFP/WebHome?origurl=/pub/CFP/WebHome/cfp5-20160105.pdf
]):
      Copyright dates changed (except page ii as that is an image).
      *Page 2 change: Review this to see if clarification is needed 
regarding "after" referring to time or source code.
        Saying "after the signal handler completes." will make it 
unambiguous.
        Does this apply to all the standard pragmas?
          Seems to be safer to have it apply to everything since there 
would be no implementation assumptions.
      Page 5: Good.
      Page 6 change 1: Good.
      Page 6 change 2: Good.
      Page 9 change 1 (comment 5): Good.
      Page 9 change 2 (comment 6): Good.
        IEEE does not say anything regarding to this.
        For alternate exception handling, it is specified.
        For optimization allowance it is not.
      Page 10: Good.
      Page 15 change 1 (line 7): Good.
        Fits better with existing C language since it does not exclude 
complex.
      Page 15 change 2 (comment 8): Good.
      Page 15 change 3 (comment 7, 9):
        Any requirement to make the values distinct?
          No. The use is still for the list of exceptions. The values are 
a form to allow testing for existence.
        Fred: On page 18 line 45 they seem to need to be distinct.
          Ex. The IBM implementation has sub-exceptions that set the 
parent exception flag bit as well.
          *Jim: That is an assumption. Maybe the words need to be changed 
to be clearer.
      Page 18: Good (barring above).
        Fred's comment/email regarding jumps (line 21): C standard defines 
jumps (6.8.6) without longjmp and raise.
          Page 19 handles raise(SIGFPE) but not any other raise.
          Note this also applies to any other non-returning function calls 
like quick_exit, etc.
          The C Standard definition is for the grammar, not the general 
english term being used here.
      Page 19 change 1: Good.
      Page 19 change 2 (comment 13): Good.
        Fred: Do any of our TS parts tie together exceptions and SIGFPE?
          No. Not specified by us. The C standard already has words about 
how it can interact and result in undefined behaviour.
        We don't want to get into signalling here if we can avoid it.
        What does 'scope' refer to here? The FENV_EXCEPT pragma given in 
the line before.
      Page 20: Good.
        Suggestion: Change the '#define n' to '#define NUMBER_OF_ELEMENTS'
      Page 21: Good.
        Suggestion: Change the "for (i=0;" to "for (int i=0;"
      Page 22, 23 (comments 8, 11, 14): Good.
        If the sub-exception did not set the parent exception, this would 
break this code.
        The nested immediate 'try's have undefined behaviour (what is y's 
value?) due to the jump out of the inner 'try'.
        Fred: Perhaps on page 18 we should list nested try blocks as part 
of the jumps list as well.
          This would be like listing everything else too. Why just this 
case?
        Another possible example would be ALL_EXCEPT with a particular 
exception.
        Perhaps have examples with other exceptions?
        Recent versions of LAPACK do exploit IEEE exception handling by 
using isnan.
 
      Comment 9: Probably is common in implementation of libraries.
        Note that sub-exceptions are a optional part of an optional TS so 
should not be that large a burden.
 
      Are we ready for the focused review after the changes listed above?
        Yes.

    Maintenance to the published parts of the TS:
      Some changes are present in the editors draft (but not the published 
one).
      Jim to get the changebar'd dated version on the wiki to review.
      After approval, need to create a DR for the changes.
        Editorial can be all in a single DR per TS.
        Other changes can be individual DR's.
 
    Parts 1 and 2 implementations in practice:
      Should we bring up individual features from these parts to the C 
standard for inclusion?
      Part 1 has a lot of new functions that narrow the results of the 
arguments. Not a lot of implementation seen.
        Jim: Intel may have implemented this.
        Fred: No floating point exception flags for DFP implemented in 
Intel.
          Jim: HP did.
      Having the entire TS parts is a high bar. Not suitable for an Annex 
either since it is modifications to the standard.
      Ian: Having the syntax for the new floating point literals should be 
brought in.
      Rajan: The TS's should have implementation somewhere (as long as the 
aggregate of implementations cover the entire TS) to help get WG14 
approval to bring it into the standard. Individual proposals of parts of 
the TS's for standardization is fine, but we should not do it as a group.
      Fred: The DEC alpha chip does static rounding.
        May not be like ours.
      Make this a more significant item to discuss in the next meeting.
 
    Part 1 comments from Fred (email on 2016/01/05):
      Seem valid comments.
      Review these items next meeting (follow up in email until Fred 
leaves).
 
Regards,

Rajan Bhakta
z/OS XL C/C++ Compiler Technical Architect
ISO C Standards Representative for Canada
C Compiler Development
Contact: rbhakta at us.ibm.com, Rajan Bhakta/Houston/IBM

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.oakapple.net/pipermail/cfp-interest/attachments/20160112/d240f425/attachment.html 


More information about the Cfp-interest mailing list