« BackA Compiler Bug (2023)rsaxvc.netSubmitted by pbrowne011 a day ago
  • sligor 13 hours ago

    Volatile were buggy in old compiler: https://llvm.org/pubs/2008-10-EMSOFT-Volatiles.html [2008 paper]

    Even if compilers are better now, if possible it is better to wrap any IO memory access into ioread/iowrite inline (no cost) functions. This can then be implemented in a way known to be safe for the compiler used. And that can be changed easily in case the architecture or the compiler changes ( yeah abstraction ! )

    As linux does for example: https://www.kernel.org/doc/html/v4.15/driver-api/device-io.h...

    • userbinator 17 hours ago

      I have, in various projects over the years, resorted to inline Asm when I couldn't coerce the compiler to do exactly what I wanted; including very rare compiler bugs.

      • vintagedave 8 hours ago

        > the compiler vendor took care of it promptly in a paid upgrade to proprietary compiler 5.next

        Ouch (assuming that this required them to pay to get the bugfix.)

        • kookamamie 11 hours ago

          Searches for "volatile"...ahh, there it is.

          • bobmcnamara 14 hours ago

            Haha! It's ARM compiler 4!