diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr43299.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr43299.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr43299.c b/gcc/testsuite/gcc.dg/pr43299.c new file mode 100644 index 000000000..d71c89689 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr43299.c @@ -0,0 +1,28 @@ +/* PR debug/43299 */ +/* { dg-do assemble } */ +/* { dg-options "-g -O2" } */ + +extern void *emit_insn (void *); + +__attribute__((noinline)) +void *gen_load_locked_si (void *x, void *y) +{ + return x; +} + +__attribute__((noinline)) +void *gen_load_locked_di (void *x, void *y) +{ + return x; +} + +void +emit_load_locked (int mode, void *reg, void *mem) +{ + void * (*fn) (void *, void *) = ((void *)0); + if (mode == 9) + fn = gen_load_locked_si; + else if (mode == 10) + fn = gen_load_locked_di; + emit_insn (fn (reg, mem)); +} |