‹ BackHN Continuity

Thread

C++26: Trivial infinite loops are no longer undefined behaviour

173 points · 290 comments · ibobev

  1. account42 · · focus · HN ↗
    Unfortunate. There isn't ever a good reason to have an infinite loop so concerned compilers could have just diagnosed this as a warning.
    1. echoangle · · focus · HN ↗
      The article mentions a use case for that:

      > What I found is that this is common in embedded and kernel code as a halt-on-error pattern. When a fatal error occurs and there’s no operating system to exit to, you simply stop:

      1. account42 · · focus · HN ↗
        Low level code can and should use assembly to get the precise effect they desire in these cases.
        1. rcxdude · · focus · HN ↗
          I shouldn't need to drop to assembly to get an infinite loop that works!
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.