Hi Martin,

I noticed a new failure in the use-after-scope-8.c test on powerpc64le:

  FAIL: gcc.dg/asan/use-after-scope-8.c   -O0  (test for excess errors)

with the error being

  use-after-scope-8.c:9:16: error: invalid register name for 'a'

It looks to me as though the dg-skip-if directive in the test isn't
having the desired effect:

  /* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */

I'm not familiar with the specifics of the directive but changing
it to this got rid of the error for me:

  // { dg-skip-if "" { *-*-* } "-O0" "" }

Looking more closely at the code, it references an x86 register
which is obviously not going to be valid on other processors.
I'm not sure I understand the purpose of the register variable
(on powerpc64le the test passes without it) but if it's important
for some reason then as an alternative to the above, changing
the register to one that's generally available and getting rid
of the directive should work too.  This did the trick for me:

  register int a asm ("0") = 123;

Martin

Reply via email to