Path: utzoo!mnetor!uunet!husc6!cmcl2!brl-adm!brl-smoke!gwyn From: gwyn@brl-smoke.ARPA (Doug Gwyn ) Newsgroups: comp.lang.c Subject: X3J11 meeting notes Message-ID: <6829@brl-smoke.ARPA> Date: 13 Dec 87 18:03:42 GMT Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 55 Keywords: ANSI C standard The following are unofficial, incomplete notes about some of the developments at the December X3J11 meeting: The good news is, it appears that the second formal public review of the draft proposed standard for C may start as early as February. This time it will last for two months, and we hope that nothing will turn up that requires more than minor editorial changes for the final official standard. A new keyword, "noalias", was added; it's a type-qualifier like const and volatile. Its only function is to permit tighter optimization, so in a sense it's like register. A "noalias" variable is one that the programmer guarantees will only be accessed via a single "handle", so the compiler does not have to make worst-case assumptions about pointer aliasing. All library routine pointer parameters (except for memmove()) now have "noalias" added, replacing the English injunction to that effect. Parenthesis grouping is now honored. The sentence that permitted regrouping of commutative & associate operators has been removed. Unary plus no longer has special grouping semantics. Pointers to the same object are now guaranteed to compare equal. All types of null pointer compare equal. (char *) and (void *) have the same representation. Additional multi-byte character stuff was added, most notably L"..." and L'...' literals. Catenation of mixed string literal types is undefined. "mb_max" was changed to "MB_CUR_MAX". mbstowcs() and wcstombs() functions were added to convert entire multibyte strings. A wchar_t array can be initialized with a L"...". Additional international monetary and numeric support was added. NULL and size_t are to be included in any header that references them in the Standard; other symbols are defined in only one header. va_start and va_end are both macros, and their ranges (on distinct va_list data) can overlap. '0'..'9' are now required to be contiguous and in ascending order, so the c-'0' construct is guaranteed to work. stderr always starts out unbuffered. signal handlers may now be entered with an implementation-defined blocking of the signal instead of having it reset to SIG_DFL. bsearch() passes the key as the first argument to the comparison function (was previously not specified which argument was which). "GMT" is changed to "UTC". Slight tweaks to math routines to accommodate IEEE floating point.