From 99c902690493e35aad16b2083bad34cf79c366bf Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Fri, 5 Aug 2022 17:31:43 +0200 Subject: [PATCH] [gdb/build] Fix build breaker in language.c with gcc 7.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When building gdb on openSUSE Leap 15.3, using gcc 7.5.0, I run into: ... gdb/language.c: In constructor ‘constexpr language_gdbarch::language_gdbarch()’: gdb/language.c:921:8: error: use of deleted function \ ‘language_arch_info::language_arch_info(const language_arch_info&)’ struct language_gdbarch ^~~~~~~~~~~~~~~~ In file included from gdbsupport/common-defs.h:104:0, from gdb/defs.h:28, from gdb/language.c:31: gdb/language.h:95:28: note: declared here DISABLE_COPY_AND_ASSIGN (language_arch_info); ^ include/ansidecl.h:342:3: note: in definition of macro \ ‘DISABLE_COPY_AND_ASSIGN’ TYPE (const TYPE&) = delete; \ ^~~~ gdb/language.c: In function ‘language_gdbarch* get_language_gdbarch(gdbarch*)’: gdb/language.c:936:22: note: synthesized method ‘constexpr \ language_gdbarch::language_gdbarch()’ first required here l = new struct language_gdbarch; ^~~~~~~~~~~~~~~~ ... This seems to be fixed by this change in the struct language_gdbarch definition: ... - struct language_arch_info arch_info[nr_languages] {}; + struct language_arch_info arch_info[nr_languages]; ... Tested on x86_64-linux. --- gdb/language.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/language.c b/gdb/language.c index c185a009a72..bc784a8ec79 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -922,7 +922,7 @@ struct language_gdbarch { /* A vector of per-language per-architecture info. Indexed by "enum language". */ - struct language_arch_info arch_info[nr_languages] {}; + struct language_arch_info arch_info[nr_languages]; }; static const registry::key language_gdbarch_data; -- 2.30.2