A Compiler Bug (2023)

(rsaxvc.net)

22 points | by pbrowne011 1 day ago

6 comments

  • sligor 23 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...

  • vintagedave 18 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.)

  • userbinator 1 day 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.
  • kookamamie 21 hours ago
    Searches for "volatile"...ahh, there it is.
  • bobmcnamara 1 day ago
    Haha! It's ARM compiler 4!