Keith Thompson said:
In fact, if this hasn't changed in C11[*], you can even
[*] Which I don't have - is there a link anywhere?
The latest pre-C11 draft (which is very close to the published standard)
is N1570:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
Thank you.
Is there any place which accurately documents the differences between
this and the official standard? And those between C11 and C99?
I could do a websearch, but if there's somewhere official I'd rather
rely on that.
The foreword of N1570 and C11 includes a summary of the major changes
between C99 and C11.
I don't know of an *official* summary of differences between N1570 and
C11, but I asked Larry Jones (a committee member) about it in comp.std.c
last year:
From: (e-mail address removed)
Newsgroups: comp.std.c
Subject: Re: Array operand of _Alignof
Date: Fri, 5 Apr 2013 14:07:23 -0400
Message-ID: <
[email protected]>
Keith Thompson said:
So it was. I hadn't known there were any differences between N1570
and
the final standard.
There are a number of them, but most are just minor editorial tweaks,
changes to boilerplate text, and shuffling things around to keep the
powers that be happy. The biggest change was removing _Alignof from a
bunch of places it shouldn't have been added (based on the erroneous
notion that it takes either a type or an expression like sizeof does
when it really only takes a type): 6.3.2.1p2, p3, p4, fn. 65; and 6.7.1
fn. 121.
--
Larry Jones
There has also been one Technical Corrigendum. Both N1570
and C11 failed to define proper values for __STDC_VERSION__ and
__STDC_LIB_EXT1__; the TC specifies both as 201112L. (The latter is
defined only by implementations that support Annex K (Bounds-checking
interfaces).)