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

Reply via email to