Minutes of the 7th June 2018 Teleconference Austin-871 Page 1 of 1 Submitted by Andrew Josey, The Open Group. 8th June 2018 Attendees: Mark Ziegast, SHware Systems Dev. Joerg Schilling, FOKUS Fraunhofer Andrew Josey, The Open Group Geoff Clare, The Open Group David Clissold, IBM Don Cragun, IEEE PASC OR Eric Blake, Red Hat Apologies: Nick Stoughton Martin Rehak, Oracle, The Open Group OR Richard Hansen, Google * General news No news * Outstanding actions ( Please note that this section has been flushed to shorten the minutes - to locate the previous set of outstanding actions, look to the minutes from 9 March 2018 and earlier) * Current Business Bug 1077: Recommend support for wide-character regcomp and regexec and/or specify multi-byte behavior OPEN http://austingroupbugs.net/bug_view_page.php?bug_id=1077 Andrew has completed the action to ping his Apple contact and is awaiting a reply. Bug 1108: LONG_MIN must be <= -2147483648 Accepted as Marked http://austingroupbugs.net/view.php?id=1108 This item is tagged for Issue 8 On P280 L9437 replace Maximum Acceptable Value: −2 147 483 647 with Maximum Acceptable Value: −2 147 483 648 At Line 9443 replace Maximum Acceptable Value: −9 223 372 036 854 775 807 with Maximum Acceptable Value: −9 223 372 036 854 775 808 At L9452 replace Maximum Acceptable Value: −2 147 483 647 with Maximum Acceptable Value: −2 147 483 648 At L9467 replace Maximum Acceptable Value: −32 767 with Maximum Acceptable Value: −32 768 After P282 L9539 () add a new paragraph: The maximum values for SCHAR_MIN, SHRT_MIN, LONG_MIN and LLONG_MIN differ from the C Standard because POSIX.1 requires two's complement representation for the corresponding integer types. The maximum value for INT_MIN differs both for that reason and because POSIX.1 requires that int has a width of at least 32 bits. See also the RATIONALE section for . On P282 L9543 () add to the SEE ALSO section. On P348 L11817 () change: An N-bit signed type has values in the range -2N-1 or 1-2N-1 to 2N-1-1, while an N-bit unsigned type has values in the range 0 to 2N-1 with An N-bit signed type in two's complement representation has values in the range -2N-1 to 2N-1-1, while an N-bit unsigned type has values in the range 0 to 2N-1. While the C standard also permits signed integers in sign-magnitude or one's complement form, this standard requires an implementation to use two's complement representation for the standard integer types. After P349 L11866 add a new paragraph with CX shading: If the representation of any of the standard types short, int, long or long long is not the same as one of the above required types, an intN_t type with that representation shall be defined along with its uintN_t counterpart. On P351-352 L11944-11965 () change all occurrences of: -1) to: ) and add CX shading to the affected text in parentheses. On P352 L11979 (), change: -65 535 to: -65 536 On P354 L12040 (), replace (The POSIX standard explicitly requires 8-bit char and two's-complement arithmetic.) with Since the POSIX.1 standard explicitly requires 8-bit char with two's complement arithmetic, it is easier for application writers if the same two's complement guarantees are extended to all of the other standard integer types. Furthermore, in programming environments with a 32-bit long, some POSIX.1 interfaces, such as mrand48(), cannot be implemented if long does not use a two's complement representation. On P567 L19829 (abs), replace If the result cannot be represented, the behavior is undefined. with If the result cannot be represented, the result shall be {INT_MIN}. On P567 L19838 (abs), replace In two's-complement representation, the absolute value of the negative integer with largest magnitude {INT_MIN} might not be representable. with Since POSIX.1 requires a two's complement representation of int, the absolute value of the negative integer with the largest magnitude {INT_MIN} is not representable; but the rules of negation in two's complement arithmetic ensure that {INT_MIN} is returned. On P1135 L38352 (imaxabs), replace If the result cannot be represented, the behavior is undefined. with If the result cannot be represented, the result shall be {INTMAX_MIN}. On P1135 L38361 (imaxabs), replace The absolute value of the most negative number cannot be represented in two's complement. with Since POSIX.1 requires a two's complement representation of intmax_t, the absolute value of the negative integer with the largest magnitude {INTMAX_MIN} is not representable; but the rules of negation in two's complement arithmetic ensure that {INTMAX_MIN} is returned. On P1232 L41185 (labs), replace If the result cannot be represented, the behavior is undefined. with If the result cannot be represented, the result shall be {LONG_MIN} for labs() or {LLONG_MIN} for llabs() . On P1232 L41195 (labs APPLICATION USAGE), replace None. with Since POSIX.1 requires a two's complement representation of long and long long, the absolute value of the negative integer with the largest magnitude {LONG_MIN} or {LLONG_MIN} is not representable; but the rules of negation in two's complement arithmetic ensure that {LONG_MIN} (for labs()) or {LLONG_MIN} (for llabs()) is returned. On P3115 L104217 (printf), replace twos-complement with two's complement Bug 1109: Internal *bang* variable does not affect ~ characters ('!') in escape command lines; see the escape command and [xref to Command Escapes in mailx]. The default shall be nobang, disabling the expansion of '!' in the command argument to the ~! command and the ~ characters ('!') in ! commands and ~!command escapes; see the Invoke Shell Command command and [xref to Command Escapes in mailx]. The default shall be nobang, disabling the expansion of '!' in the command argument to the ! command and the ~!command escape. Next Steps ---------- The next call is on June 14th 2018 (a Thursday) Apologies in Advance: Nick Stoughton (2018-06-14) Eric Blake (2018-06-14) Andrew (or Geoff) will bring up the bridge. Calls are anchored on US time. (8am Pacific) This call will be for the regular 90 minutes. http://austingroupbugs.net An etherpad is usually up for the meeting, with a URL using the date format as below: https://posix.rhansen.org/p/201x-mm-dd username=posix password=2115756#