Added the following avr specific test cases for the already fixed PR83801.
Johann PR c/83801 PR c/83729 * gcc.target/avr/torture/pr83729.c: New test. * gcc.target/avr/torture/pr83801.c: New test. Index: gcc.target/avr/torture/pr83729.c =================================================================== --- gcc.target/avr/torture/pr83729.c (nonexistent) +++ gcc.target/avr/torture/pr83729.c (working copy) @@ -0,0 +1,17 @@ +/* { dg-options { "-std=gnu99" } } */ +/* { dg-do run { target { ! avr_tiny } } } */ + +__attribute((noinline,noclone)) +char to_ascii (unsigned i) +{ + static const char __memx code_tab[] = "0123456789"; + return code_tab[i]; +} + +int main() +{ + if (to_ascii (2) != '2') + __builtin_abort(); + + return 0; +} Index: gcc.target/avr/torture/pr83801.c =================================================================== --- gcc.target/avr/torture/pr83801.c (nonexistent) +++ gcc.target/avr/torture/pr83801.c (working copy) @@ -0,0 +1,17 @@ +/* { dg-options { "-std=gnu99" } } */ +/* { dg-do run { target { ! avr_tiny } } } */ + +__attribute((noinline,noclone)) +char to_ascii (unsigned i) +{ + static const char __flash code_tab[] = "0123456789"; + return code_tab[i]; +} + +int main() +{ + if (to_ascii (2) != '2') + __builtin_abort(); + + return 0; +}