3 ms·
C23 did not get around to introducing this kind of forward declaration (and, although GCC has had them for a long time, Clang has not implemented that extension
by mananaysiempre 3y ago
C23 did not get around to introducing this kind of forward declaration (and, although GCC has had them for a long time, Clang has not implemented that extension either). I think I remember Gustedt (the chair for C11 and C17) openly advocating against the ages-old practice[1] of putting lengths after pointers, I suspect in part because of this problem, and Meneide (the current one) also puts lengths first in his proposed encoding APIs. In any case, the proposal[2] (ETA: by Martin Uecker, who’s also spoken up both in the linked thread and here) is still under consideration, it just didn’t get into C23.
[1] With main() being the exception.
[2] Latest version being https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3121.pdf https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3121.pdf.
- uecker 3y agoWG14 can still vote it into C23.
- mananaysiempre 3y agoOh. With all the talk about national body comments I thought a freeze of some sort was already in effect. (Which did make the “nope“ paper on integer constant expressions[1] from Clang more than a bit surprising.) Thanks for the correction! [1] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3125.pdf https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3125.pdf
- uecker 3y agoThe freeze is in effect, but issues can still be addressed with NB comments. There was a NB related to this topic and WG14 asked me to create a new revision of this paper.