ISO/ IEC JTC1/SC22/WG14 N787

                           WG14 N787/J11 97-151
    Minutes of Co-located ISO/IEC JTC1/SC22/WG14 and NCITS J11 Meetings
                            20-24 October 1997
                        Menlo Park, California, USA

Monday, 20 October 1997

1.  Opening Activities

1.1.  Opening Comments
        
        Benito and Jaeschke welcomed all WG14 and J11 participants.

1.2.  Introduction of Participants

        All participants introduced themselves:

        John Benito, Perennial              J11; WG14 Convener
        Frank Farance, Farance Inc.         J11, C9X Editor
        Clive D. W. Feather, Demon Internet WG14, UK
        Mark Hoerth, Hewlett-Packard        J11
        Rex Jaeschke, Self                  J11, Chair
        Larry Jones, SDRC                   J11
        Jan Kristoffersen, Ramtex           WG14, Denmark        
        Randy Meyers, Self                  J11
        Peter Seebach, Self                 J11
        Bill Seymour, Self                  J11, Vocab. Rep., Acting Secretary
        Jim Thomas, Hewlett-Packard         J11
        Fred Tydeman, Tydeman Consulting    J11 
        Douglas Walls, Sun Microsystems     J11, International Rep.; WG14, US
        Tom MacDonald, Cray/SGI             J11
        Jeff Zeeb, Digital                  J11
        Tom Robinson, Perennial             J11
        Bob Harrison, Unisys                J11
        Doug Gwyn, U.S. Army                J11
        
1.3.  Selection of Meeting Chair

        Jaeschke was appointed meeting chair.

1.4.  Host Facilities and Local Information

        Walls has arranged for a workstation, laser printer and copy services
        for participants. 

1.5.  Procedures for This Meeting

        As usual, the meeting was conducted as a group of technical experts
        working toward consensus with straw votes used to determine sentiment.
        Formal J11 votes were used to establish a U.S. position (other 
        delegations could caucus at the same time) and formal WG14 votes were 
        used to determine whether consensus had been reached.

        Straw votes (indicated by SV in the margin) are generally recorded in 
        these minutes as For/Opposed/Abstain.  Formal motions (indicated by 
        FM) are made within J11 and indicate the mover and second.  Formal 
        motions which pass are also proposed resolutions in WG14.  Formal J11
        votes (indicated by FV) are shown as For/Opposed/Abstain/Absent/Total,
        WG14 consensus votes (indicated by CV) are shown as For/Opposed/Abstain.
        Items which were accepted without objection are recorded as being by
        acclamation (indicated by A).

        All references to the C9X draft noted in these minutes are to
        C9X draft 11 pre 3 (C9XD11P3), unless specified otherwise.

        Since there is no permanent secretary, Jaeske appointed Seymour as 
        Acting Secretary for this meeting.

1.6.  Approval of Previous Minutes [N718]

        1.  Add to the formal motion by Meyers and Walls of item 5:
            Move the paragraph "The inline function specifier
            shall not appear in a declaration of main" up to
            be a constraint.

        2.  Add to the formal motion by Walls and Jones of item 17.3:
            On line 1, change "ending in _t" to "ending with _t".

        3.  In the formal motion by Keaton and Walls of item 20,
            "Change 12" should be "Change 13".

        4.  21, p 63, should be "restricted pointers"

        [The Secretary's notes also include the objection that the change
        to 6.1.2.5 in item 14 should be deleted; but there doesn't seem
        to be any formal motion in item 14 that changes 6.1.2.5.  Another
        member (Walls) has suggested that this objection was dropped; but
        the Secretary failed to note that.]

        It was not clear that all these corrections are real.  Hoerth will
        bring in notes from London to verify.  Approval of minutes deferred.

        [The minutes were approved on Wednesday morning.
        Forward reference:  item 26 of these minutes.]

1.7.  Review of Action Items and Resolutions

        Action items appearing in these minutes are indicated by
        *** in the margin.  Page numbers immediately below refer
        to the hand-written page numbers in the post-London mailing.

        p 49, Benito, Degener, Keaton, Seymour and Walls, editorial
              review board for incorporating MSE:  withdrawn
        p 49, Jaeschke, provide long long rationale to Benito:  done
***     p 49, Mooney and Harris, warn Simonsen about changes to assert
              in N611:  status unknown
***     p 49, Benito, put Rationale on FTP site:  pending
        p 51, Benito, work with FTP administrator to furnish mailings
              electronically:  done
        p 52, Jaeschke, contact UDI working group:  done
        p 52, Benito, provide Rationale on reflector:  done
***     p 54, Plum, proposal to refine sequence points:  status unknown
***     p 56, Benito, investigate whether C9X conforms to ISO directives
              with respect to DR 159:  pending
        p 61, Feather, Seebach and Martin, editorial review committee
              for N672:  withdrawn
        p 61, Feather, Meyers and Walls, review board for N725:  done
        p 62, Keaton, Plum, Seebach and Feather, review board for N738:
              withdrawn
        p 63, MacDonald, re-evaluate references to inlined functions
              in Rationale:  done
        p 64, Hoerth and Jaeschke, initiate liason with UDI:  done
        p 67, Jaeschke, add N730 to Menlo Park agenda:  done
        p 67, Jaeschke, add N737 to Menlo Park agenda:  done
        p 68, Jaeschke, post future agenda items on reflector:  done
***     p 69, Jaeschke, draft a form letter for submission of comments
              about C9X draft and post to reflector:  pending
        p 69, Jaeschke, speak with Deborah Donovan about process for
              electronic mail submission of comments:  done
        p 69, Jaeschke, organize J11 meeting in December:  done,
              but meeting cancelled

1.10. Information on the Next Meeting

        The scheduled meeting in Colorado is questionable.
        Hewlitt-Packard could host somewhere in Colorado if necessary.
        We will know more later in the week.

1.11. Identification of National Bodies and J11 Voting Members

        J11 has 13 of 17 voting members present.

        WG14 has three national bodies in attendance:  Denmark,
        the United Kingdom and the United States.

        An attendance sheet is attached to these minutes.

    Liason reports.

        WG14 liason, SC22 plenary in August, we got permission to publish
        TC1 and TC2 which Simonsen put on the WG14 Web site.  We may
        publish our first CD.

        C++ liason, finished final CD, 5 no votes.  The next meeting will
        be in Morristown NJ.  Given the new SC22 procedures, WG21 is expected
        to forward the CD to DIS.

2.  Benito, N746, CD Registration.

        Denmark votes no because of no POSIX alignment, strftime,
        low-level I/O and boolean.  POSIX and strftime will come up
        in papers later this week; boolean has been done.  Only
        low-level I/O should be a show-stopper.

        UK believes that low-level I/O should be dealt with by an
        NCEG-like group.

        Denmark believes it's too small an issue for a separate group.
        Low-level I/O is vital for embedded systems programmers,
        so belongs in C standard.

        The US position is no.  We need to talk about it because it's
        a comment from a participating country.  J11 needs time to
        discuss and hear from experts before taking another vote.

FM      Moved Gwyn, seconded Seebach, to provide at least 30 minutes agenda
        time later in meeting for discussion of low-level I/O.
FV      6/4/3/0/13 passed
CV      2/1/0 consensus

        Japan voted no because of six technical items.

        1.  long long, div_t should be optional...they're too hard for small
            machines.

            One maintainer of PDP-11 compiler says it's doable.  The benefit
            to user outweighs cost to implementer.  This is the only way
            to get a 64-bit type into the standard.

        2.  complex should be optional...not enough users.

            We expect that there will be more users since it's considered an
            esential part of FORTRAN.  We try to avoid making things optional.

        3.  atoll should be dropped...it's already covered by strtoll.

            atoll could be implementated much more efficiently than
            strtoll and it's easier to code in a quick program.

        4.  encoding of execution and source characters...

        5.  illegal example of ## operator.

            We can fix this with editorial changes.
            The example in the draft is OK.

        6.  rewind or other positioning should reorient streams...this is
            important for wide character streams.  Japan has words now being
            translated.

        (Japan says that others are just editorial.  We're not sure,
        either that they're editorial, or that they should be made.)

        Answers to Japan's editorial comments:

        1.  Yes, we need the right date.

        2.  We will add "locale-specific" to implementations' required
            documentation.

        3.  correct

        4.  The various values of 0 are not the same thing.  We might break
            something else if we try to fix it.  We need words from Japan.

        5.  already fixed

        6.  We agree in principle that all references should be correct.

        7.  This is covered in the Rationale.

        8.  Annex B is still in the process and will not be published
            until it's correct.

        9.  already fixed

        10. already fixed

        11. no logical necessity, no resources to do it right in time frame

        12. moot

        13. already fixed

        14. non-editorial

        15. already fixed

        16. will be explained in Rationale

        17 - 20. Four typos will be or have been fixed.

        21. We should leave J5 alone.  They really are common extensions.
            We will go through it and make sure they're still really
            extensions (e.g., long long int) and maybe remove some items
            that make an implementation non-conforming.  J5 will be reviewed.

3.  Feather, N730, Cleanup of aggregate initialization.

        There could be problems with floating-point agregate initializers
        and compound literals.  Feather will do some wordsmithing and we'll
        get back to it later in the week.

4.  Feather, N725, Simplified Integer Conversion Rules.

FM      Moved Walls, seconded Tydeman, that N725, Simplified Integer
        Conversion Rules, be incorporated into the C9X draft with the
        following wording changes:  change "destination type" to "new type"
        three places in paragraph 2 and one place in paragraph 3.
FV      12/0/1/0/13 passed
CV      3/0/0 consensus

----------------------------------------------------------------------
Monday Afternoon

5.  Meyers, N769, Mandatory intmax_t;
    Feather, N765, Issues with representation of values.

FM      Moved Gwyn, seconded Jones, that N765 Part C be incorporated into
        the C9X draft with a forward reference to inttypes.h added.
FV      12/0/1/0/13 passed
CV      3/0/0 consensus

6.  Gwyn, N761, Rewrite of C9X Subclause 7.4 <inttypes.h>

        Shall we delete 7.4.1.4 and 7.4.2.4?
SV      7/1/0

        Shall there be types corresponding to size_t, ptrdiff_t?
SV      9/3/0

7.  Thomas, N757, Miscellaneous Floating-Point Cleanup.

        Shall scalb be removed from C9X?
SV      12/0/5

FM      Moved Gwyn, seconded Benito, to remove scalb from C9X with editorial
        group to come up with specific directions for the redactor.
FV      10/0/3/0/13 passed
CV      2/0/1 consensus

***     Thomas, Gwyn and Tydeman to be editorial group

FM      Moved Thomas, seconded Benito, that N757, Floating-Point Cleanup,
        section 2, Enhancement, be incorporated into the C9X draft with
        the following wording changes:  the last two words, "are unique",
        are replaced by "result in distinct values".
FV      8/0/5/0/13 passed
CV      2/0/1 consensus

8.  Feather, N759, Bug in Compound Literals

FM      Moved Gwyn, seconded MacDonald, that the example from N759, Minor
        Issues Relating to Compound Literals, with all occurrances of "foo"
        being replaced by "s", be incorporated into the C9X draft.
FV      10/0/3/0/13 passed
CV      3/0/0 consensus

9.  Jones, N544 (DR 156)

FM      Moved Jones, seconded Gwyn, that the wording under Technical
        Corrigendum from DR 156 in N544 be adopted with the clause numbers
        changed as follows:
            "subclause 7.9.9.2, page 145" to "7.13.10.2, fseek"
            "subclause 7.9.9.3, page 146" to "7.13.10.3, fsetpos"
FV      9/0/4/0/13 passed
CV      3/0/0 consensus

10.  Tydeman, N772, Header Name Spelling

FM      Moved Tydeman, seconded Seebach, that N772, Header Name Spelling,
        be incorporated as is into the C9X draft.
FV      10/0/3/0/13 passed
CV      3/0/0 consensus

11.  Tydeman, N758, C9X and LIA-1 Informative Annex

FM      Moved Gwyn, seconded Farance, that N758, C9X and LIA-1 Informative
        Annex, be passed on to a final editorial review committee to draft
        the precise changes to incorporate the proposal into the C9X draft.
FV      6/3/4/0/13 passed
CV      2/0/1 consensus

***     Tydeman, Gwyn and Thomas will be the editorial review committee.

-------------------------------------------------------------------------
Tuesday Morning

12.  Walls, N760, Empty Macro Arguments

FM      Moved Walls, seconded Tydeman, that N760, Empty Macro Arguments
        be incorporated as is into the C9X draft.
FV      11/0/1/1/13 passed
CV      3/0/0 consensus

13.  MacDonald, N768, Current C9X Tweak List

FM      Moved Walls, seconded Jones, that items 1, 2, 4, 5, 7, 8, 10, 11
        and 15 of N768, Current C9X Tweak List, be incorporated into the
        C9X draft changing "current raised exception" in item 11 to
        "currently raised exception".
FV      10/0/3/0/13 passed
CV      3/0/0 consensus

FM      Moved Gwyn, seconded Jones, that paragraph 13.3.2.1 from N762,
        Minor Changes to C9X, be incorporated as is into the C9X draft.
FV      10/0/3/0/13 passed
CV      3/0/0 consensus

14.  Feather, N773, Consistency and Clarification Changes

FM      Moved Jones, seconded Tydeman, that portions of N773 be incorporated
        into the C9X draft as follows:
            Item 1, replacing "correctly" with "successfuly"
            Item 2 as is
            Item 3 as is
            Item 4 as is, option A only
            Item 7 as is
            Item 9 as is
            Item 10 as is
            Item 11, replacing "should" with "can"
            Item 12 as is
            Item 14 as is, but as a footnote at the end of paragraph 3
            Item 15 as is
            Item 16 as is
            Item 17 as is
            Item 19, adding "(8 occurrances)" between "instance" and "of:"
            Item 20 as is
            Item 21, adding "paragraph 7" after "6.3"
FV      11/0/2/0/13 passed
CV      3/0/0 consensus

15.  Feather, N732, Meaning of Implementation-Defined

        We have agreement in principle about Feather's definitions of
        unspecified and implementation-defined behavior...deferred for
        exact words.

16.  MacDonald, N768, Current C9X Tweak List

FM      Moved MacDonald, seconded Gwyn, that Items 6 and 9 from N768,
        Current C9X Tweak List, be incorporated into the C9X draft with
        the following wording changes:
            In Item 6, add "If this pragma is used in any other context,
                       the behavior is undefined."
            In Item 9, change "domain error" to "range error"
FV      9/0/3/1/13 passed
CV      3/0/0 consensus

17.  Thomas, N757, Miscellaneous FP cleanup items

FV      Moved Thomas, seconded Tydeman, that the following changes be
        incorporated into the C9X draft:
            Remove 7.7.6.12, The scalb function
            Remove F.9.3.12, The scalb function
            Remove scalb from the list in 7.9.1[5], Type-generic macros
            Remove the scalb declaration from D.6, Mathematics <math.h>
FV      9/0/3/1/13 passed
CV      3/0/0 consensus

18.  Gwyn, N762, Minor Changes to C9X

FM      Moved Gwyn, seconded Jones, that portions of N762 be incorporated
        into the C9X draft as follows:
            Item 5 as is
            Item 7 as is
            Item 8, removing "only" from footnote 104 in 6.5.3.1
            Item 11, removing paragraph 2 of 6.8.1
            Item 14 as is
            Item 15 as is
FV      9/0/3/1/13 passed
CV      3/0/0 consensus

---------------------------------------------------------------------
Tuesday Afternoon

        The Chair notes that Tom Plum of Plum-Hall has arrived,
        bringing the number of J11 voting members present to 14.

19.  Feather, N764, Issues About time

        Shall we change strftime in accordance with Part D?
SV      3/5/7, those voting no did so because of lack of interest

        Shall we use option C of part F as ammended?
SV      12/0/3

        Shall times always be Gregorian?
SV      A

        Shall we provide DST capability similar to Part H?
SV      5/3/7

FM      Moved Gwyn, seconded Jones, that N764 as ammended by the following
        portions of N781 be incorporated into the C9X draft.
            Part A as is
            Part B as is
            Part C, retaining the footnote and changing the words to
                    "The range [0,60] for tm_sec allows for a positive
                    leap second."
            Part E as is
            Part F option Fc, changing "on a member" to "on one or more members"
            Part G as is
FV      8/0/5/1/14 passed
CV      3/0/0 consensus

20.  MacDonald, N766, Inlining Issues

        Shall we disallow calling functions with internal linkage
        from an inlined function?
SV      7/2/7

FM      Moved MacDonald, seconded Tydeman, that Issue 1 of N766 be
        incorporated as is into the C9X draft.
FV      8/0/5/1/14 passed
CV      2/1/0 consensus

FM      Moved MacDonald, seconded Gwyn, that Issue 2 of N766 be
        incorporated as is into the C9X draft.
FV      10/0/3/1/14 passed
CV      1/0/2 consensus

FM      Moved MacDonald, seconded Zeeb, that the typos and tweaks from N766
        be incorporated into the C9X draft as follows:
            Paragraph 3, the second alternative as is
            Item 7 as is
            Item 8, correcting the spelling of "wtih" only
            Item 9 as is
            Item 10 as is
FV      11/0/3/0/14 passed
CV      3/0/0 consensus

21.  Gwyn, N762, Minor Changes to C9X.

        Shall we require implementations to provide signal blocking?
SV      4/7/5

FM      Moved Gwyn, seconded Robinson, that portions of N762, Minor Changes
        to C9X, be incorporated into the C9X draft as follows:
            Item 17, changing section number to 7.11.1.1
            Item 18 as is
            Item 20 as is
            Item 21, but without 21.2.1, and changing "which" to "that"
FV      11/0/3/14 passed
CV      3/0/0 consensus

22.  MacDonald, N766, new inlining issues

FM      Moved MacDonald, seconded Gwyn, that the following two changes
        be made to the C9X draft:
            1.  Change 6.5.4, Function specifiers, paragraph 8, fourth
                sentence to read, "If all the file scope declarations
                for a function in a translation unit include the inline
                function specifier without extern, then the definition
                in that translation unit is an inline definition."
            2.  Change the last word in footnote 105 from "inline"
                to "inlined".
FV      12/0/2/0/14 passed
CV      3/0/0 consensus

23.  MacDonald, N767, Some General C9X Issues

FM      Moved MacDonald, seconded Hoerth, that the following change be
        incorporated into the C9X draft:
            Move the constraint from 6.5.2, Type specifiers, paragraph 3
            to 6.5.5.2, Array declaraters, after paragraph 1; and move
            6.5.2.3, Tags, Example 4 to 6.5.5.2, Array declaraters.
FV      11/0/3/0/14 passed
CV      3/0/0 consensus

FM      Moved MacDonald, seconded Hoerth, that the following portions of
        N767 be incorporated into the C9X draft:
            Item 2, but 5.1.2.1, Program execution, example 5, should
                    begin, "Likewise, implementations cannot generally
                    replace decimal constants..."
            Item 3 as is
            Item 4, changing "seven" to "several"
            Item 5 as is
            Item 6 as is
FV      11/0/3/0/14 passed
CV      2/0/0 consensus

----------------------------------------------------------------------
Wednesday Morning

24.  Jones, Miscellaneous fixes

        Shall the size argument to setvbuf be ignored if buf is null?
SV      3/3/9

25.  Questions relating to the presentation of the C9X draft

        The indexing process is still partly manual.  It deserves some
        one-time work to get it done right.

        We'd like to be able to refer to the same footnote in several places.
        There's a solution, but it's not easy.

26.  London minutes

        Without objection, the London minutes are accepted as ammended
        in item 1.6 above.

27.  Feather, N782, Cleanup of Agregate Initialization

FM      Moved Gwyn, seconded Tydeman, that N782 be incorporated into the
        C9X draft as is.
FV      10/0/4/0/14 passed
CV      3/0/0 consensus

28.  Gwyn, N762, Minor Changes to C9X

FM      Moved Gwyn, seconded Tydeman, that the following portions of N762
        be incorporated into the C9X draft:
            Item 22, changing two occurrances of plain "char" to "signed char"
            Item 24 as is
FV      11/0/3/0/14 passed
CV      3/0/0 consensus

29.  MacDonald, N767, Some General C9X Issues

FM      Moved MacDonald, seconded Zeeb, that the following portions of N767
        be incorporated into the C9X draft:
            Item 10 as is
            Item 12 as is
            Item 14, striking the first sentence of the footnote
            Item 15, changing a second occurance of "named members"
                     to "members"
            Item 16 as is
            Item 17 as is
FV      11/0/3/0/14 passed
CV      2/0/1 consensus

30.  Feather, N784, Additional Flexibility for Inlining Implementations

FM      Moved Seebach, seconded Jones, that N784 be incorporated as is
        into the C9X draft.
FV      3/6/5/0/14 failed
CV      1/1/1 no consensus

31.  Feather, N785, Meaning of "definition"

FM      Moved Jones, seconded Tydeman, that N785 be incorporated as is
        into the C9X draft.
FV      10/0/4/0/14 passed
CV      3/0/0 consensus

32.  Feather requests guidance on what signal handlers may do.

        SIGINT and SIGFPE may not call exit() or longjmp() but should
        be able to call abort().  Any signal handler may call a new
        function, _exit(), which does nothing except return an error
        status to the operating system.

--------------------------------------------------------------------
Wednesday Afternoon

33.  Feather, N774, Assorted Minor Substantive Issues

FM      Moved Jones, seconded Tydeman, that item 4 of N774 be incorporated
        as is into the C9X draft.
FV      9/0/4/1/14 passed
CV      2/0/1 consensus

        Shall the constraint mentioned in item 5 be moved into semantics?
SV      5/6/3

FM      Moved Seebach, seconded MacDonald, that item 5 of N774 be
        incorporated into the C9X draft up to and including
        "[Retain the existing examples.]"
FV      5/4/4/1/14 passed
CV      2/0/1 consensus

34.  Feather for Glassborow, N727, Integral-to-Integer Wording Change

FM      Moved MacDonald, seconded Gwyn, that the changes recommended by N727
        be incorporated as is into the C9X draft.
FV      9/0/4/1/14 passed
CV      3/0/0 consensus

35.  Tydeman, N747, IEC 559 Binding: Signaling NaNs

        It was not generally believed that there is any commercial value
        or interest in signaling NaNs.  No action taken.

36.  Tydeman, N776, seek and ungetc

        The correct order is thought to be:
            Determine new file position
            Undo the effects of ungetc
            Clear EOF
            Set new file position

        Deferred, Jones will write the words.

37.  Gwyn, implicit function return issue

FM      Moved Gwyn, seconded Robinson, that the last sentence of
        paragraph 4 of 6.6.6.4, The return statement, be deleted;
        and a new last paragraph be added to 6.7.1, Function definitions,
        which reads:
            "If the } that terminates a function is reached, and the value
            of the function call is used by the caller, the behavior is
            undefined."
FV      8/0/5/1/14 passed
CV      3/0/0 consensus

38.  MacDonald, N766, Inlining Issues

        Shall the declaration ordering restriction on inline functions
        (item 3 of N766) be removed from the standard?
SV      10/1/4

39.  Meyers, N770, Trigraphs and Universal Character Names

        Deferred for quick vote later.

40.  Feather, N774, Assorted Minor Substantive Issues

        Shall the Item 8 change be made?
SV      5/5/5

        Shall we allow unprintable letters?
SV      3/2/10

        Shall we add a footnote saying that there can be unprintable letters?
SV      2/4/9

FM      Moved Jones, seconded Gwyn, that the following portions of N774
        be incorporated into the C9X draft:
            Item 6 as is
            Item 7, with "After all rewrites, " added to the beginning of
                    the new constraint in 6.5.5.3 and adding the footnote
                    "Arrays and functions are rewritten as pointers."
            Item 10 as is
FV      8/0/5/1/14 passed
CV      3/0/0 consensus

41.  Tydeman, N777, File Position Indicator, fgetc

        Agreed in principle.  Deferred for wordsmithing.

-------------------------------------------------------------------------
Wednesday Evening

42.  Feather, N774, Assorted Minor Substantive Issues

FM      Moved Gwyn, seconded Jones, that items 13, 14 and 15 of N774
        be incorporated as is into the C9X draft.
FV      6/0/3/5/14 passed
CV      3/0/0 consensus

43.  Jones, N776, fseek and ungetc

FM      Moved Jones, seconded Tydeman, that paragraph 5 of 7.13.9.2,
        The fseek function, be changed to:
            "After determining the new position, a successful call to the
            fseek function undoes any effects of the ungetc function on the
            stream, clears the end-of-file indicator for the stream, and then
            establishes the new position."
FV      7/0/3/4/14 passed
CV      3/0/0 consensus

44.  MacDonald, N766, Inlining Issues

FM      Moved MacDonald, seconded Zeeb, that paragraph 5 of 6.5.4,
        Function specifiers, be deleted from the C9X draft.
FV      6/0/4/4/14 passed
CV      1/1/1 no consensus

45.  Meyers on Item 17 of Feather, N774, Assorted minor substantive issues

FM      Moved Seymour, seconded Zeeb, that paragraph 2 of 7.15.6.2,
        The strerror function, be changed to read:
            "The strerror function maps the number in errnum to a message
            string.  Typically, the values for errnum come from errno,
            but strerror shall map any value of type int to a message."
FV      8/0/3/3/14 passed
CV      3/0/0 consensus

46.  Jones on Tydeman, N777, File position indicator after fgetc failure

FM      Moved Tydeman, seconded Jones, that in 7.13.8.1, The fgetc function,
        change the description to:
            "If a next character is present from the input stream
            pointed to by stream, the fgetc function obtains that
            character as an unsigned char converted to an int and
            advances the associated file position indicator for
            the stream (if defined)."
        and that in 7.19.3.1, the fgetwc function, change the description to:
            "If a next wide character is present from the input stream
            pointed to by stream, the fgetwc function obtains that
            wide character and advances the associated file position indicator
            for the stream (if defined)."
FV      8/0/3/3/14 passed
CV      3/0/0 consensus

47.  Feather, N783, Significant Outstanding Issues

        Shall we make the struct hack legal?
SV      5/0/10

FM      Moved Gwyn, seconded Jones, that the following portions of N783
        be incorporated into the C9X draft:
            Item 3, with "would be specified" becomming "is specified"
                    and "had been" becomming "are"
            Item 13, using the second version of paragraph 2
FV      6/0/5/3/14 passed
CV      3/0/0 consensus

---------------------------------------------------------------------
Thursday Morning

        The Chair announces that he has heard from Keaton and that
        the scheduled February meeting in Colorado is still on.

48.  Denmark wishes to change its vote on MacDonald's N766, Item 3
     (see item 44 above) from abstain to yes.  The new national body
     vote is 2/1/0 which the convener interprets as consensus.

49.  Feather, N783, Significant Outstanding Issues

        Shall #undeffing identifiers beginning with underscores be undefined?
SV      5/4/6

FM      Moved Tydeman, seconded Gwyn, that item 6 of N783 be incorporated
        as is into the C9X draft.
FV      3/4/6/1/14 failed
CV      2/1/0 consensus

50.  Japanese comments, N786

        1.1.  <% and %> should be punctuators rather than operators.
              This is correct and moot because N672 fixes the problem.
        1.2.  1.  OK with "Nan" changed to "NaN".
              2.  already done
              3.  OK
              4.  OK
              5.  OK in principle, deferred to Jones for wording
              6.  already done
              7.  already done
              8.  OK in principle, deferred to Jones for wording
              9.  OK
        1.3.  OK, will be fixed in upcomming papers
        1.4.  OK
        1.5.  "The subject sequence contains no [wide] characters if
              the input [wide] string is not of the expected form."
        3.1.  already done
        3.2.  correct, ongoing work
        3.3.  1.  already done
              2.  OK, with "fsetops" understood to mean "fsetpos"

***     Benito will respond to the Japanese comments.

51.  Jones, miscellaneous nits

FM      Moved Jones, seconded Gwyn, that paragraph 3 of 6.6.4.1,
        The if statement, be changed to read:
            "An else is associated with the lexically nearest
            preceding if that is allowed by the grammar."
FV      7/0/4/3/14 passed
CV      3/0/0 consensus

FM      Moved Jones, seconded Tydeman, that the next to last sentence of
        paragraph 2 of 7.13.5.6, The setvbuf function, be changed to read:
            "If buf is not a null pointer, the array it points to
            may be used instead of a buffer allocated by the
            setvbuf function and the argument size specifies
            the size of the array; otherwise, size may determine
            the size of a buffer allocated by the setvbuf function."
FV      6/0/8/0/14 passed
CV      2/0/1 consensus

52.  Feather, N708, Issues with size_t and ptrdiff_t

        Shall work be done on size_t and ptrdiff_t?
SV      3/8/7

53.  Feather, N775, Relationships between Unsigned Types

FM      Moved Gwyn, seconded Tydeman, that N775 be incorporated into
        the C9X draft, making the forward reference be to "integer
        conversion rank [6.2.1.1]".
FV      8/0/6/0/14 passed
CV      3/0/0 consensus

54.  Gwyn, N788, Rewrite of C9X Subclause 7.4 <inttypes.h>

        Shall we have footnotes naming macros that C++ can use to
        conditionally #include stdio-related parts of the header?
SV      8/1/8

        Shall we specify "typedef names" where "names" means that?
SV      7/3/5

------------------------------------------------------------------------
Thursday Afternoon

55.  Jones, Concatenation of Narrow and Wide Literals

FM      Moved Jones, seconded Tydeman, that paragraph 4 of 6.1.4,
        String Literals, Semantics, be changed to read:
            "In translation phase 6, the multibyte character sequences
            specified by any sequence of adjacent character and wide
            string literal tokens are concatenated into a single
            multibyte character sequence.  If any of the tokens are
            wide string literal tokens, the resulting multibyte
            character sequence is treated as a wide string literal;
            otherwise, it is treated as a character string literal."
        and remove related undefined behavior.
FV      11/0/2/1/14 passed
CV      3/0/0 consensus

56.  Feather, N765, Issues with Representation of Values

FM      Moved Seebach, seconded Gwyn, that parts A and B of N765 be
        incorporated into the C9X draft, replacing two occurrances of
        "types" with "integer types" in the replacement paragraph 4.
FV      7/0/6/1/14 passed
CV      3/0/0 consensus

57.  Gwyn, N788, Rewrite of C9X Subclause 7.4 <inttypes.h>

***     Gwyn to provide rationale for 7.4.5, Limits of other integer types

58.  Tydeman, N792, C9X and LIA-1 Informative Annex

FM      Moved Tydeman, seconded Gwyn, that the new annex H, Language
        Independent Arithmetic, as described in N792, be incorporated
        into the C9X draft, changing the last sentence of H.2.3 to:
            "An implementation that uses IEC 559 floating-point formats
            and operations (see Annex F) along with IEC 559 status flags
            and traps has LIA-1 conformant types."
FV      9/2/3/0/14 passed, Sun and HP opposed
CV      3/0/0 consensus

59.  Feather, N789, Changes to Signal Handling

        Shall we have _exit()?
SV      8/3/4

FM      Moved Seebach, seconded Tydeman, that N789, Changes to Signal Handling,
        be accepted for inclusion into the C9X draft, changing "no action" to
        "neither action", and passed to an editorial review committee for the
        purpose of wording or rejecting the _exit function.
FV      6/5/3/0/14 passed, SGI opposed

FM      Moved Hoerth, seconded Walls, to reconsider the previous vote.
FV      8/3/2/1/14 passed

        Reconsideration:
FV      6/6/1/1/14 failed, SGI opposed

CV      2/1/0 consensus

***     Hoerth, MacDonald, Walls, Tydeman, Zeeb, Seebach and Harrison
        will be the editorial review committee.

60.  Kristoffersen, <iohw.h>;
     Evenson, UDI I/O

        Mark Evenson, UDI Vice Chair, was invited to present the UDI
        proposal for low-level I/O.  Also attending are John Lee and
        Jerry Gilliam of Sun.

FM      Moved MacDonald, seconded Farance, that the I/O discussion be
        extended fifteen minutes.
FV      9/1/4/0/14 passed
CV      2/1/0 consensus

FM      Moved Hoerth, seconded Walls, that J11 take the position that
        an I/O annex is inappropriate at this time, and that a group
        be formed to produce a technical report that can be used as
        input to possible future revision of the standard.

FM        Moved Farance, seconded Plum, that the motion be laid on the table.
FV        4/4/6/0/14 failed

FV      10/1/3/0/14 passed

        The Danish position is that the I/O proposal is ready to go into
        the standard as it is.  The standardization method is prior art and
        as such well tested on a large range of platforms and DK therefore
        see no reason to delay the inclusion further.

        Kristoffersen welcomes input from the UDI group.  However, he
        would like to note that he has invited IO experts from the
        compiler vendors before (Kona) and is sorry that they now show
        up so late in standardization process, with delay of I/O
        standardization in C9X as a result.   

        Do WG14 agree with the J11 vote?
CV      2/1/0 consensus

--------------------------------------------------------------------------
Thursday Evening

61.  Feather, N774, Assorted Minor Substantive Issues

        Discussion of item 3 in N774 led to the motion:

FM      Moved MacDonald, seconded Tydeman, that paragraph 5 of 6.3.2.3,
        Function calls, be changed to read:
            "...the types of the arguments after promotion are not
            compatible with those of the parameters after promotion,
            the behavior is undefined
|            except for the following cases:
|            - one promoted type is a signed integer type, the other
|              promoted type is the corresponding unsigned integer type,
|              and the value is representable in both types;
|            - one type is pointer to void and the other is a pointer
|              to a character type.
            If the function is defined..."
FV      10/0/4/0/14 passed
CV      3/0/0 consensus

FM      Moved MacDonald, seconded Seebach, that item 1 of N774 be
        incorporated into the C9X draft, with paragraph 1 of 6.2.1.7
        changed to read:
            "Many operators that expect ...
            For the specified operands, each operand ...
            Unless explicitly stated otherwise, the common real type..."
FV      8/0/6/0/14 passed
CV      2/0/1 consensus

62.  MacDonald, N766, Inlining Issues

        Discussion of the final issue (#3) in N766 led to the motion:

FM      Moved MacDonald, seconded Benito, that the first two lines of the
        example in 6.5.4, Function-specifiers, paragraph 9, be moved after
        the definition of cels in the same example.
FV      9/0/5/0/14 passed
CV      2/0/1 consensus

63.  Feather, N790, The Meaning of "implementation-defined"

        Discussion of part 4 of N790 lead to the motion:

FM      Moved Seebach, seconded Jones, that paragraph 5 of 7.13.4.4
        be changed to read:
            "If the tmpnam function cannot generate a unique name
            that is not the name of an existing file, it returns
            a null pointer.  Otherwise, ..."
FV      4/6/4/0/14 failed
CV      1/1/1 no consensus

FM      Moved Jones, seconded Tydeman, that the following parts of N790,
        The Meaning of "implementation-defined", be incorporated into the
        C9X draft:
            Part 1, changing "An otherwise correct program," to
                    "A program this is correct in all other respects,"
            Part 3, including the last sentence of the original paragraph
                    in the new paragraph, and not adding to recomemded
                    practice
            Part 6 as is
            Part 7 as is
            Part 8 as is
FV      7/3/4/0/14 passed
CV      2/0/1 consensus

64.  Plum on Item 7 of Feather, N783, Significant Outstanding Issues

FM      Moved Plum, seconded Seebach, that the following words be added
        before 7.13.6.1, The fprintf function, and before 7.19.2.1,
        The fwprintf function:
            "The formatted input/output functions[footnote] shall behave
            as if there were a sequence point after the actions associated
            with each specifier."
            ----------
            Footnote:  "The printf functions perform writes to memory
                        for the %n specifier."
FV      10/0/3/1/14 passed
CV      3/0/0 consensus

--------------------------------------------------------------------------
Friday Morning

***     Benito will ask Simonsen to set up a UDI-related e-mail reflector
        that will reflect to the WG14 reflector as well.

65.  Jaeschke/Benito, N780, POSIX Alignment

        In the absence of the Liason, Jaeschke and Benito presented the paper.

        In the absence of the Head of the Danish Delegation, the Danish
        representative who is present stated that he cannot represent any
        official Danish position other than support for the paper as is.

        Character testing functions, isblank and iswblank:
         - new words needed in 7.18.2.2.2, The iswctype function

FM      Moved Gwyn, seconded Farance, that the isblank and iswblank functions
        as specified in N780 be added to the C9X draft.
FV      3/4/7/0/14 failed
CV      1/2/0 no consensus

        Table 1:  some corrections needed; should be informative,
                  not normative;

        Shall Table 1 be included in the Standard as non-normative text?
SV      4/6

        By default, Table 1 will go into the Rationale.

        7.3.2, Character case mapping functions

FM      Moved Gwyn, seconded Tydeman, that the changes to tolower, toupper,
        towlower and lowupper as stated in N780 be applied to the C9X draft.
FV      6/1/6/1/14 passed
CV      3/0/0 consensus

        UK asks the editor to note that this change must be merged into
        other changes made earlier this week.

        7.5, Localization <locale.h>

FM      Moved Tydeman, seconded Gwyn, that the changes to 7.5, Localization,
        as specified in N780 be applied to the C9X draft.
FV      7/0/7/0/14 passed
CV      3/0/0 consensus

        7.5.2.1, int_curr_symbol different from currency_symbol

FM      Moved Jaeschke, seconded Jones, that the following members
        be added to struct lconv
            int_p_cs_precedes
            int_p_sep_by_space
            int_n_cs_precedes
            int_n_sep_by_space
            int_p_sign_posn
            int_n_sign_posn
FV      0/8/6/0/14 failed
CV      1/2/0 no consensus
        Comment:  They do not exist in POSIX.

        7.5.2.1, The localeconv function

FM      Moved Gwyn, seconded Jones, that a third value be added to
        p_sep_by_space and n_sep_by_space as specified in N780.
FV      0/6/7/1/14 failed
CV      0/2/1 no consensus

66.  Meyers, N770, Trigraphs and Universal Character Names

FM      Moved Seebach, seconded MacDonald, that 5.1.1.2, paragraph 1,
        Translation Phase 1, be replaced by the following words:
            "Physical source file multibyte characters are mapped to the
            source character set (introducing new-line characters for
            end-of-line indicators) if necessary.  Any multibyte source
            file character not in the basic source character set is replaced
            by the universal-character-name that designates that multibyte
            character. [footnote 6]  Then, trigraph sequences are replaced
            by corresponding single-character internal representations."
FV      10/0/3/1/14 passed
CV      3/0/0 consensus

        The Chair notes that Roger Golliver of Intel has arrived,
        bringing the number of J11 voting members present to 15.

67.  Feather, N793, New time functions

FM      Moved Seebach, seconded Tydeman, that N793 be incorporated as is
        into the C9X draft.
FV      6/2/7/0/15 passed
CV      2/0/1 consensus

68.  MacDonald, N767, Some General C9X Issues

        Discussion of item 11 in N767 led to the motion:

FM      Moved MacDonald, seconded Seebach, that the following change be
        made to 6.2.1.3, paragraph 3 of the C9X draft:
            "An integer may be converted to any pointer type.  The result
            is implementation-defined, might not be properly aligned,
            and might not point to an entity of the referenced type."
FV      11/0/3/1/15 passed
CV      3/0/0 consensus

        Shall assignment of incompletely initialized structures be undefined?
SV      9/2/7

69.  MacDonald, Hexadecimal Floating-Point Constants

FM      Moved MacDonald, seconded Tydeman, that the following floating-point
        constants be added to 5.2.4.2.2, <float.h>:
            FLT_EPSILON  0X1P-23F
            FLT_MIN      0X1P-126F
            FLT_MAX      0X1.fffffeP127F
            DBL_EPSILON  0X1P-52
            DBL_MIN      0X1P-1022
            DBL_MAX      0X1.ffffffffffffeP1023
FV      7/0/4/4/15 passed
CV      2/0/1 consensus

70.  Gwyn, <inttypes.h> not ready today

FM      Moved Gwyn, seconded Tydeman, that N788 be passed to an editorial
        review committee to draft the final words for inclusion into the
        C9X draft.
FV      12/0/3/0/15 passed
CV      3/0/0 consensus

***     Feather, Gwyn, Walls and Seebach well be editorial review committee.

71.  Plum, ammendment to Gwyn, N788, Rewrite of C9X Subclause 7.4 <inttypes.h>,
     [new working draft]

FM      Moved Plum, seconded Tydeman, that a new paragraph 6 be added
        at the end of 7.4.8 containing the following words:
          in 7.4.8
            "The implementation shall enclose the macros of sections
            7.4.8, 7.4.9, and 7.4.10 within the following directive:
              #if !defined(__cplusplus) || defined(__STDC_INTTYPES_LIMITS)"
          in 7.4.11
            "The implementation shall enclose the macros of sections
            7.4.11 within the following directive:
              #if !defined(__cplusplus) || defined(__STDC_INTTYPES_PRINT_SCAN)"
          and add in 6.8.8
            "The implementation shall not define the macro __cplusplus."
FV      9/1/5/0/15 passed
CV      3/0/0 consensus

72.  Benito, CD issues

***     Walls, Benito, Farance, Jaeschke, Thomas and MacDonald will be
        the editorial review committee for the C9X CD.

***     Farance will put the C9X draft on the private FTP site
        on or before 4 Nov.

        Benito asks that committee members' personal comments on the draft
        not be sent to the WG14 reflector, but rather be sent privately to
        both Benito and Farance.

73.  MacDonald, N767, Some General C9X Issues

        Discussion of item 8 in N767 led to the motion:

FM      Moved MacDonald, seconded Seebach, that paragraph 3 of 6.1.2.8.1
        be changed to read:
            "Certain object representations might not represent a value
            of that type.  If the stored value of an object has such a
            representation and is accessed by an lvalue expression that
            does not have character type but does have one of the other
            access types listed in 6.3, the behavior is undefined.  If
            such a representation is produced by a side effect that
            modifies all or any part of the object by an lvalue expression
            that does not have character type but does have one of the other
            access types listed in 6.3, the behavior is undefined.  Such
            representations are called trap representations."
FV      11/0/4/0/15 passed
CV      3/0/0 consensus

74.  Feather, N791, Solving the struct hack problem

FM      Moved Seebach, seconded Gwyn, that N791 be incorporated as is
        into the C9X draft.
FV      6/2/6/1/15 passed
CV      2/0/1 consensus

WG14 and J11 expressed their thanks to Walls and Sun Microsystems
for hosting the meetings.

The meetings were adjourned at 12:02 PM, Friday, 24 October 1997.

-----------------------------------------------------------------------

                                Attendance
          Co-located Meetings of ISO/IEC JTC1/SC22/WG14 and NCITS J11
                            20-24 October 1997
                        Menlo Park, California, USA

        --------------------------------------------------------------
        J11 Attendees                            | M | T | W | T | F |
        --------------------------------------------------------------
     P  Self, Randy Meyers ..................... | X | X | X | X | X |
     P  Digital, Jeff Zeeb ..................... | X | X | X | X | X |
     P  Farance Inc., Frank Farance ............ | X | X | X | X | X |
     P  Hewlett-Packard, Mark Hoerth ........... | X | X | X | X | X |
     P  Perennial, John Benito ................. | X | X | X | X | X |
     A  Perennial, Tom Robinson ................ | X | X | X | X | X |
     P  SDRC, Larry Jones ...................... | X | X | X | X | X |
     P  SGI/Cray, Tom MacDonald ................ | X | X | x | X | X |
     P  Sun Microsystems, Douglas Walls ........ | X | X | X | X | X |
     P  Unisys, Bob Harrison ................... | X | X | X | X | X |
     P  U.S. Army, Doug Gwyn ................... | X | X | X | X | X |
     P  Self, Rex Jaeschke ..................... | X | X | X | X | X |
     P  Self, William Seymour .................. | X | X | X | X | X |
     P  Self, Peter Seebach .................... | X | X | X | X | X |
     P  Tydeman Consulting, Fred Tydeman........ | X | X | X | X | X |
     A  Hewlett-Packard, Jim Thomas ............ | X | X | X | X | X |
     P  Plum Hall, Tom Plum .................... | - | X | X | X | X |
     P  Intel, Roger Golliver .................. | - | - | - | - | X |
     P  Keaton Consulting, David Keaton ........ | - | - | - | - | - |
     P  IBM Corp, Erin Harris .................. | - | - | - | - | - |
        --------------------------------------------------------------


        --------------------------------------------------------------
        WG14 Attendees                           | M | T | W | T | F |
        --------------------------------------------------------------
        Canada - Erin Harris ................... | - | - | - | - | - |
        Denmark - Jan Kristoffersen ............ | X | X | X | X | X |
        U.K. - Clive D. W. Feather ............. | X | X | X | X | X |
        U.S. - Douglas Walls ................... | X | X | X | X | X |
        --------------------------------------------------------------

--------------------------------------------------------------------------

                             U.S. TAG Meeting 
                             23 October 1997
                             Menlo Park, CA

FM      Moved Jaeschke, seconded Jones, that MacDonald be
        the J11 liason to J3 for the FORTRAN to C project.
FV      14/0/0/0/14 passed

The meeting was adjourned.