blob: e1687d28e0b9cec479744b3167a82046c481e50b [file] [log] [blame]
/* PR c/41045 */
/* { dg-do compile } */
/* { dg-options "-O0" } */
/* { dg-additional-options "-fno-pie" { target pie } } */
struct S { char a; long long b; int c; };
enum E { E0, E1 = sizeof (struct S) + 15 };
int v[42];
void foo (void) {}
/* Not all targets can use %cN even in non-pic code. */
#if defined(__riscv) || defined(__loongarch__)
asm ("# %0 %1 %2 %cc3 %cc4 %5 %% %="
#else
asm ("# %0 %1 %2 %c3 %c4 %5 %% %="
#endif
:: "i" (sizeof (struct S)),
"i" (__builtin_offsetof (struct S, c)),
"i" (E1),
"s" (foo),
"i" (v),
/* Not all targets can satisfy "m" even in non-pic code. */
#if !defined(__i386__) && !defined(__x86_64__)
"s" (v));
#else
"m" (v));
asm ("# %0 %1"
: "=m" (v[16])
: "m" (v[41]));
#endif