nathanchance added a comment.

I suspect this is the same issue but our CI pointed out another instance of 
this error in some x86 code 
(https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2SW8BY7moEweMJC6DJpzidlGYt8/build.log),
 which does not appear to use local labels with the same name, but rather 
unique label names. `cvise` spits out:

  void emulator_cmpxchg_emulated() {
    int __ret = ({
      asm goto(" .pushsection \"__ex_table\",\"a\"\n"
               " .popsection\n"
               :
               :
               :
               : efaultu16);
      __ret;
    });
  efaultu16:
    ({
      asm goto(" .pushsection \"__ex_table\",\"a\"\n"
               " .popsection\n"
               :
               :
               :
               : efaultu32);
    efaultu32:;
    });
  }



  $ clang -fsyntax-only x86.i
  x86.i:3:5: error: cannot jump from this asm goto statement to one of its 
possible targets
      3 |     asm goto(" .pushsection \"__ex_table\",\"a\"\n"
        |     ^
  x86.i:19:3: note: possible target of asm goto statement
     19 |   efaultu32:;
        |   ^
  x86.i:12:3: note: jump enters a statement expression
     12 |   ({
        |   ^
  1 error generated.

which certainly seems bogus to me.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D154696/new/

https://reviews.llvm.org/D154696

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to