• Troy
    link
    fedilink
    415 months ago

    I love hitting these things in the real world. Not the big, but the comment. You just know someone spent a fortune in time and company resources to never solve the problem and their frustration level was ragequit. But then something stupid like adding

    while (0){};

    Suddenly made it work and they were like, fuckit.

    Usually it’s a bug somewhere in a compiler trying to over optimize or something and putting the line in there caused the optimization not to happen or something. Black magic.

    The downside is that the compiler bug probably gets fixed, and then decades later the comment and line are still there…

    • @[email protected]
      link
      fedilink
      English
      125 months ago

      I used to work on an old DOS product and we didn’t have a debugger so we used to have a DEBUG command line argument with

      if (DEBUG) printf(“debugging”);
      

      to try to see what was happening and the number of times that code alone fixed the problem was scary.

      • @[email protected]
        link
        fedilink
        55 months ago

        I mean . . . I still do this on my own stuff. If I’m interested in optimizing for speed I’ll do it as #ifdef instead of if ()

    • Nat (she/they)
      link
      fedilink
      115 months ago

      And then the compiler updates to get better at spotting optimization opportunities and it blows up again