your C is not standard C

(sebsite.pw)

24 points | by dverlaeckt80 1 day ago

2 comments

  • dzaima 14 minutes ago
    > gcc, however, always defines FLT_ROUNDS to 1

    Well, considering that gcc doesn't support the FENV_ACCESS pragma, and as such all fesetround calls are always UB, it is valid for it to act as if the rounding mode never changes from the default :)

  • MisterTea 1 day ago
    As someone who loves and enjoys writing Plan 9 c, all I can say is "standard c", whatever that means these days, is a mess. Too many things to name ranging from the only two oss compilers being bloated monsters, post c99 additions being pointless, in-line asm ruining portability*, and POSIX can die in a fire (along with typewriter terminals.)

    I have a friend who is currently on the C committee and is likely going to leave because of all the bad ideas which have both been implemented and going to be implemented.

    * No, spamming a million ugly #ifdefs all over the source files is gross and hard to read. Split up the code dammit.

    • 201984 38 minutes ago
      >post c99 additions being pointless

      Atomics are necessary nowadays though.

      • 3836293648 7 minutes ago
        As a part of the language? Are they really? You can do it all with library functions that just take regular int* (and so on).

        Not that I'd want it, I like complex type systems, but I see it as philosophically consistent with C.

    • glouwbug 34 minutes ago
      Plan 9 inheritance is really nice. You can still use it with `gcc -fplan9-extensions`. It builds some nice polymorphic workflow an array of tagged enum void pointers