home.social

#wg14 — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #wg14, aggregated by home.social.

fetched live
  1. To make C code work as written on ARM64, I had to disable inlining for two key functions in gcc.
    #gcc #wg14 #clanguage #relaxedmemory #arm64

  2. To make C code work as written on ARM64, I had to disable inlining for two key functions in gcc.
    #gcc #wg14 #clanguage #relaxedmemory #arm64

  3. From the Comp-Cert release notes - sanity in C programming. Someone call ISO and complain.

    "Constant propagation: optimize "known integer or undefined" results. For example, &x == &x, which is either 1 or undefined, is now replaced by 1"

    #wg14 #Clanguage #undefinedbehavior #software

  4. From the Comp-Cert release notes - sanity in C programming. Someone call ISO and complain.

    "Constant propagation: optimize "known integer or undefined" results. For example, &x == &x, which is either 1 or undefined, is now replaced by 1"

    #wg14 #Clanguage #undefinedbehavior #software

  5. The C11 specification from #wg14 is so dreadful, so full of dumb ideas badly explained, as to shock the conscience
    #computerscience #programming #Clanguage #c11 #wg14

  6. The C11 specification from #wg14 is so dreadful, so full of dumb ideas badly explained, as to shock the conscience
    #computerscience #programming #Clanguage #c11 #wg14

  7. It turns out that sometime ago #gcc has added the #clang attribute #may_alias to C (and C++). After breaking C semantics, despite clear objections from Dennis Ritchie, to enable unquantified and feeble "optimizations" based on aliasing, the compiler bosses have had to smuggle back a version. Looks like these changes went into some of libc about a year ago.
    #wg14 #Cstandard

  8. It turns out that sometime ago #gcc has added the #clang attribute #may_alias to C (and C++). After breaking C semantics, despite clear objections from Dennis Ritchie, to enable unquantified and feeble "optimizations" based on aliasing, the compiler bosses have had to smuggle back a version. Looks like these changes went into some of libc about a year ago.
    #wg14 #Cstandard

  9. Meeting 71 of WG14 (the ISO C committee) is now complete, and I've written a blogpost with an overview of the proposals that were highlights for me: ethernull.org/blog_posts/2024_

    With thanks to @AaronBallman @erisceleste @thephd for writing the proposals I wrote about!

    Obviously there were plenty of great papers, these were just a few I particularly liked. C23 is really nice, and I think C2y is already shaping up to be something quite special. :)

    #WG14
    #C2y
    #C

  10. Meeting 71 of WG14 (the ISO C committee) is now complete, and I've written a blogpost with an overview of the proposals that were highlights for me: ethernull.org/blog_posts/2024_

    With thanks to @AaronBallman @erisceleste @thephd for writing the proposals I wrote about!

    Obviously there were plenty of great papers, these were just a few I particularly liked. C23 is really nice, and I think C2y is already shaping up to be something quite special. :)

    #WG14
    #C2y
    #C

  11. I wonder if anyone has seriously thought about adding some kind of namespacing to the C preprocessor.

    for example, it would be nice if you could say

    #namespace FOO
    #include "foo.h"
    #endnamespace

    and then all the preprocessor defines from foo.h are brought into your file with names like FOO###BOOL

    #c #preprocessor #cpreprocessor #cpp #wg14

  12. I wonder if anyone has seriously thought about adding some kind of namespacing to the C preprocessor.

    for example, it would be nice if you could say

    #namespace FOO
    #include "foo.h"
    #endnamespace

    and then all the preprocessor defines from foo.h are brought into your file with names like FOO###BOOL

    #c #preprocessor #cpreprocessor #cpp #wg14

  13. For example in KandRC, it's simple to check if two arrays overlap
    if(&a[n] < b || &b[m] < a){ all good}

    But in ISO C, there is no way do do this - well, there is an optional cast to a number that may work.

    The reason we give up this expressive capability is vague and not backed up by any numbers.
    #isoc #wg14

  14. For example in KandRC, it's simple to check if two arrays overlap
    if(&a[n] < b || &b[m] < a){ all good}

    But in ISO C, there is no way do do this - well, there is an optional cast to a number that may work.

    The reason we give up this expressive capability is vague and not backed up by any numbers.
    #isoc #wg14

  15. Well, I am now officially a member of ISO/IEC JTC1/SC22/WG14 (the C committee)!

    It feels strange to be labelled as an expert, but I suppose they don't have "lay" committee members...

    #WG14
    #C

  16. Well, I am now officially a member of ISO/IEC JTC1/SC22/WG14 (the C committee)!

    It feels strange to be labelled as an expert, but I suppose they don't have "lay" committee members...

    #WG14
    #C

  17. A proposal for C's ISO WG14 that the author, Eskil Steenberg, considers dead on arrival due to the working group wanting to take C in another direction.

    open-std.org/jtc1/sc22/wg14/ww

    #C #WG14

  18. A proposal for C's ISO WG14 that the author, Eskil Steenberg, considers dead on arrival due to the working group wanting to take C in another direction.

    open-std.org/jtc1/sc22/wg14/ww

    #C #WG14

  19. @emeryberger my conclusion after a year on #WG14 was that #optimization and FAANG cannot live together in peace. #Cprogramming

  20. @emeryberger my conclusion after a year on #WG14 was that #optimization and FAANG cannot live together in peace. #Cprogramming