diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc index 277904f6d142594a5af725831c8a6359ae87be79..75d21de14011e232d8be26ccbbc78f1a735f4911 100644 --- a/gcc/config/aarch64/aarch64-builtins.cc +++ b/gcc/config/aarch64/aarch64-builtins.cc @@ -1840,7 +1840,7 @@ aarch64_init_prefetch_builtin (void) } /* Initialize the memory tagging extension (MTE) builtins. */ -struct +static GTY(()) struct GTY(()) { tree ftype; enum insn_code icode; diff --git a/gcc/testsuite/gcc.target/aarch64/acle/memtag_4.c b/gcc/testsuite/gcc.target/aarch64/acle/memtag_4.c new file mode 100644 index 0000000000000000000000000000000000000000..1e209ffc25a8a21a8d42fc5ca54fee1cd2b35700 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/acle/memtag_4.c @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-options "-march=armv9-a+memtag --param ggc-min-expand=0 --param ggc-min-heapsize=0" } */ +/* PR target/108174 */ +/* Check to make sure that the builtin functions are not GC'ed away. */ +#include "arm_acle.h" + +void g(void) +{ + const char *c; + __arm_mte_increment_tag(c , 0 ); +} +void h(void) +{ + const char *c; + __arm_mte_increment_tag( c,0); +}