FX via Gcc <gcc@gcc.gnu.org> writes: > I’m trying to bootstrap a GCC 10 compiler on macOS with clang, and I am > getting errors in stage 1, because there is C++11 code that is rejected by > clang (because the bootstrap involves compiling stage 1 with -std=gnu++98, > online on master (see top-level configure.ac). These errors are not seen, I > believe, when GCC is the bootstrap compiler, because GCC will issue a warning > instead of an error (as clang does). > > One place with such issue is in aarch64-builtins.c, which contains a C++11 > constructor. I can fix it with this: > > diff --git a/gcc/config/aarch64/aarch64-builtins.c > b/gcc/config/aarch64/aarch64-builtins.c > index cba596765..184e9095d 100644 > --- a/gcc/config/aarch64/aarch64-builtins.c > +++ b/gcc/config/aarch64/aarch64-builtins.c > @@ -1225,8 +1225,9 @@ aarch64_init_memtag_builtins (void) > = aarch64_general_add_builtin ("__builtin_aarch64_memtag_"#N, \ > T, AARCH64_MEMTAG_BUILTIN_##F); \ > aarch64_memtag_builtin_data[AARCH64_MEMTAG_BUILTIN_##F - \ > - AARCH64_MEMTAG_BUILTIN_START - 1] = \ > - {T, CODE_FOR_##I}; > + AARCH64_MEMTAG_BUILTIN_START - 1].ftype = T; \ > + aarch64_memtag_builtin_data[AARCH64_MEMTAG_BUILTIN_##F - \ > + AARCH64_MEMTAG_BUILTIN_START - 1].icode = > CODE_FOR_##I; > > fntype = build_function_type_list (ptr_type_node, ptr_type_node, > uint64_type_node, NULL); > > […stuff that Iain has already answered…] > > I would welcome: > > 1. confirmation that the C++11 code in aarch64-builtins.c is indeed a bug, > and that a patch for it would be welcome
Yeah, it's definitely a bug, thanks for catching it. The patch above is OK. Thanks, Richard