From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12475 invoked by alias); 21 Sep 2013 01:58:02 -0000 Mailing-List: contact sid-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: sid-owner@sourceware.org Received: (qmail 12096 invoked by uid 89); 21 Sep 2013 01:58:00 -0000 Received: from mail-pb0-f53.google.com (HELO mail-pb0-f53.google.com) (209.85.160.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Sat, 21 Sep 2013 01:58:00 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_50,FREEMAIL_FROM,T_FILL_THIS_FORM_SHORT autolearn=ham version=3.3.2 X-HELO: mail-pb0-f53.google.com Received: by mail-pb0-f53.google.com with SMTP id up15so1038582pbc.26 for ; Fri, 20 Sep 2013 18:57:56 -0700 (PDT) X-Received: by 10.68.35.6 with SMTP id d6mr11250886pbj.94.1379728676816; Fri, 20 Sep 2013 18:57:56 -0700 (PDT) Received: from bubble.grove.modra.org ([101.166.26.37]) by mx.google.com with ESMTPSA id xs1sm22100159pac.7.1969.12.31.16.00.00 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 20 Sep 2013 18:57:56 -0700 (PDT) Received: by bubble.grove.modra.org (Postfix, from userid 1000) id C4DF7EA007B; Sat, 21 Sep 2013 11:27:51 +0930 (CST) Date: Sat, 21 Sep 2013 01:58:00 -0000 From: Alan Modra To: sid@sourceware.org Subject: build breakage with gcc-4.7.2 Message-ID: <20130921015751.GH30130@bubble.grove.modra.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.5.21 (2010-09-15) X-SW-Source: 2013-q3/txt/msg00002.txt.bz2 Found when attempting to build sid with gcc-4.7 looser throw specifier for ‘some_derived_class destructor‘ overriding ‘parent_class destructor throw ()‘. ‘some_function’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] note: declarations in dependent base ‘some_class’ are not found by unqualified lookup note: use ‘this->some_function’ instead OK to apply? sid/component/cgen-cpu/mep/ * mep.h (mep_cpu_cgen::~mep_cpu_cgen): New. * mep_basic.h (mep_basic_cpu::~mep_basic_cpu): New. * mep_ext1.h (mep_ext1_cpu::~mep_ext1_cpu): New. sid/component/cgen-cpu/sh/ * sh.h (sh_cpu_impl::~sh_cpu_impl): New. * sh2a_model.cxx: Specify dependent base class function with 'this->'. * sh3_model.cxx: Likewise. * sh4.cxx: Likewise. * sh64.c: Include sysdep.h first. sid/component/gloss/ * angel.h (arm_angel::~arm_angel): New. * m32r.h (m32r_libgloss::~m32r_libgloss): New. * mips.h (mips32_idt::~mips32_idt): New. sid/component/mmu/armRemap.cxx * armRemap.cxx (operator<<): Avoid redeclaration of "it". Index: sid/component/cgen-cpu/mep/mep.h =================================================================== RCS file: /cvs/src/src/sid/component/cgen-cpu/mep/mep.h,v retrieving revision 1.4 diff -u -p -r1.4 mep.h --- sid/component/cgen-cpu/mep/mep.h 30 Apr 2009 21:18:37 -0000 1.4 +++ sid/component/cgen-cpu/mep/mep.h 20 Sep 2013 08:33:03 -0000 @@ -91,6 +91,9 @@ namespace mep : cr64_queuelen(0), ccr_queuelen(0) { } + + ~mep_cpu_cgen() throw () + { } }; class debugger_bus_with_control_bus_vision : Index: sid/component/cgen-cpu/mep/mep_basic.h =================================================================== RCS file: /cvs/src/src/sid/component/cgen-cpu/mep/mep_basic.h,v retrieving revision 1.1 diff -u -p -r1.1 mep_basic.h --- sid/component/cgen-cpu/mep/mep_basic.h 5 Feb 2007 20:28:40 -0000 1.1 +++ sid/component/cgen-cpu/mep/mep_basic.h 20 Sep 2013 08:33:03 -0000 @@ -26,6 +26,7 @@ namespace mep_basic { this->insn_options[DSP] = false; this->insn_options[UCI] = false; } + ~mep_basic_cpu () throw () { } void core_model_insn_before (bool first_p = true) { my_core_model.model_insn_before (first_p); } void core_model_step_latency (sid::host_int_4 cycles = 0) { my_core_model.step_latency (cycles); } Index: sid/component/cgen-cpu/mep/mep_ext1.h =================================================================== RCS file: /cvs/src/src/sid/component/cgen-cpu/mep/mep_ext1.h,v retrieving revision 1.2 diff -u -p -r1.2 mep_ext1.h --- sid/component/cgen-cpu/mep/mep_ext1.h 30 Apr 2009 21:18:37 -0000 1.2 +++ sid/component/cgen-cpu/mep/mep_ext1.h 20 Sep 2013 08:33:03 -0000 @@ -36,6 +36,7 @@ namespace mep_ext1 { my_cop48_model (this), my_cop64_model (this) {} + ~mep_ext1_cpu() throw() {} void core_model_insn_before (bool first_p = true) { my_core_model.model_insn_before (first_p); } void core_model_step_latency (sid::host_int_4 cycles = 0) { my_core_model.step_latency (cycles); } Index: sid/component/cgen-cpu/sh/sh.h =================================================================== RCS file: /cvs/src/src/sid/component/cgen-cpu/sh/sh.h,v retrieving revision 1.2 diff -u -p -r1.2 sh.h --- sid/component/cgen-cpu/sh/sh.h 13 Aug 2007 14:47:43 -0000 1.2 +++ sid/component/cgen-cpu/sh/sh.h 20 Sep 2013 08:33:05 -0000 @@ -315,6 +315,7 @@ namespace sh class sh_cpu_impl: public sh_cpu { public: + ~sh_cpu_impl() throw() { } PCADDR get_fetched_insn_pc () { return this->fetched_insn_pc; } protected: Index: sid/component/cgen-cpu/sh/sh2a_model.cxx =================================================================== RCS file: /cvs/src/src/sid/component/cgen-cpu/sh/sh2a_model.cxx,v retrieving revision 1.1 diff -u -p -r1.1 sh2a_model.cxx --- sid/component/cgen-cpu/sh/sh2a_model.cxx 18 Oct 2006 18:27:27 -0000 1.1 +++ sid/component/cgen-cpu/sh/sh2a_model.cxx 20 Sep 2013 08:33:05 -0000 @@ -120,9 +120,9 @@ sh2a_model::model_u_us // LDS.L has a longer pipeline and can execute 1 cycle // earlier than other insns. if (insn_is_ldsl_mac (idesc) && this->multiply_busy >= 2) - set_current_stall (this->multiply_busy - 2); + this->set_current_stall (this->multiply_busy - 2); else - set_current_stall (this->multiply_busy - 1); + this->set_current_stall (this->multiply_busy - 1); } return 0; @@ -134,7 +134,7 @@ sh2a_model::model_u_wr { // Only used by STS and STS.L. Stall until the multiply unit is completely free. if (write_back_busy) - set_current_stall (this->multiply_busy); + this->set_current_stall (this->multiply_busy); return 0; } Index: sid/component/cgen-cpu/sh/sh3_model.cxx =================================================================== RCS file: /cvs/src/src/sid/component/cgen-cpu/sh/sh3_model.cxx,v retrieving revision 1.1 diff -u -p -r1.1 sh3_model.cxx --- sid/component/cgen-cpu/sh/sh3_model.cxx 18 Oct 2006 18:27:27 -0000 1.1 +++ sid/component/cgen-cpu/sh/sh3_model.cxx 20 Sep 2013 08:33:05 -0000 @@ -88,7 +88,7 @@ sh3_model::model_u_mac UINT extra_cycle = this->model_mac_after (cpu, 3); // Basic execution cycles for this insn. - UINT cycles = unit_cycles (idesc, BASE::UNIT_U_MACW); + UINT cycles = this->unit_cycles (idesc, BASE::UNIT_U_MACW); return cycles + extra_cycle; } @@ -101,7 +101,7 @@ sh3_model::model_u_mac UINT extra_cycle = this->model_mac_after (cpu, 3); // Basic execution cycles for this insn. - UINT cycles = unit_cycles (idesc, BASE::UNIT_U_MACL); + UINT cycles = this->unit_cycles (idesc, BASE::UNIT_U_MACL); return cycles + extra_cycle; } @@ -111,10 +111,10 @@ UINT sh3_model::model_u_dmul_after (CPU *cpu, const IDESC *idesc, int unit_num, unsigned long long referenced) { // MAC model with multiply latency of 3. - UINT extra_cycle = model_mac_after (cpu, 3); + UINT extra_cycle = this->model_mac_after (cpu, 3); // Basic execution cycles for this insn. - UINT cycles = unit_cycles (idesc, BASE::UNIT_U_DMUL); + UINT cycles = this->unit_cycles (idesc, BASE::UNIT_U_DMUL); return cycles + extra_cycle; } @@ -124,10 +124,10 @@ UINT sh3_model::model_u_mull_after (CPU *cpu, const IDESC *idesc, int unit_num, unsigned long long referenced) { // MAC model with multiply latency of 3. - UINT extra_cycle = model_mac_after (cpu, 3); + UINT extra_cycle = this->model_mac_after (cpu, 3); // Basic execution cycles for this insn. - UINT cycles = unit_cycles (idesc, BASE::UNIT_U_MULL); + UINT cycles = this->unit_cycles (idesc, BASE::UNIT_U_MULL); return cycles + extra_cycle; } Index: sid/component/cgen-cpu/sh/sh4.cxx =================================================================== RCS file: /cvs/src/src/sid/component/cgen-cpu/sh/sh4.cxx,v retrieving revision 1.1 diff -u -p -r1.1 sh4.cxx --- sid/component/cgen-cpu/sh/sh4.cxx 18 Oct 2006 18:27:27 -0000 1.1 +++ sid/component/cgen-cpu/sh/sh4.cxx 20 Sep 2013 08:33:05 -0000 @@ -32,25 +32,25 @@ template ::sh64_ftrv (unsigned n) { - SF result = sh64_fmuls (this->h_xf_get (0), this->h_frc_get (n)); - result = sh64_fadds (result, sh64_fmuls (this->h_xf_get (4), this->h_frc_get (n + 1))); - result = sh64_fadds (result, sh64_fmuls (this->h_xf_get (8), this->h_frc_get (n + 2))); - result = sh64_fadds (result, sh64_fmuls (this->h_xf_get (12), this->h_frc_get (n + 3))); + SF result = this->sh64_fmuls (this->h_xf_get (0), this->h_frc_get (n)); + result = this->sh64_fadds (result, this->sh64_fmuls (this->h_xf_get (4), this->h_frc_get (n + 1))); + result = this->sh64_fadds (result, this->sh64_fmuls (this->h_xf_get (8), this->h_frc_get (n + 2))); + result = this->sh64_fadds (result, this->sh64_fmuls (this->h_xf_get (12), this->h_frc_get (n + 3))); this->h_frc_set (n, result); - result = sh64_fmuls (this->h_xf_get (1), this->h_frc_get (n)); - result = sh64_fadds (result, sh64_fmuls (this->h_xf_get (5), this->h_frc_get (n + 1))); - result = sh64_fadds (result, sh64_fmuls (this->h_xf_get (9), this->h_frc_get (n + 2))); - result = sh64_fadds (result, sh64_fmuls (this->h_xf_get (13), this->h_frc_get (n + 3))); + result = this->sh64_fmuls (this->h_xf_get (1), this->h_frc_get (n)); + result = this->sh64_fadds (result, this->sh64_fmuls (this->h_xf_get (5), this->h_frc_get (n + 1))); + result = this->sh64_fadds (result, this->sh64_fmuls (this->h_xf_get (9), this->h_frc_get (n + 2))); + result = this->sh64_fadds (result, this->sh64_fmuls (this->h_xf_get (13), this->h_frc_get (n + 3))); this->h_frc_set (n + 1, result); - result = sh64_fmuls (this->h_xf_get (2), this->h_frc_get (n)); - result = sh64_fadds (result, sh64_fmuls (this->h_xf_get (6), this->h_frc_get (n + 1))); - result = sh64_fadds (result, sh64_fmuls (this->h_xf_get (10), this->h_frc_get (n + 2))); - result = sh64_fadds (result, sh64_fmuls (this->h_xf_get (14), this->h_frc_get (n + 3))); + result = this->sh64_fmuls (this->h_xf_get (2), this->h_frc_get (n)); + result = this->sh64_fadds (result, this->sh64_fmuls (this->h_xf_get (6), this->h_frc_get (n + 1))); + result = this->sh64_fadds (result, this->sh64_fmuls (this->h_xf_get (10), this->h_frc_get (n + 2))); + result = this->sh64_fadds (result, this->sh64_fmuls (this->h_xf_get (14), this->h_frc_get (n + 3))); this->h_frc_set (n + 2, result); - result = sh64_fmuls (this->h_xf_get (3), this->h_frc_get (n)); - result = sh64_fadds (result, sh64_fmuls (this->h_xf_get (7), this->h_frc_get (n + 1))); - result = sh64_fadds (result, sh64_fmuls (this->h_xf_get (11), this->h_frc_get (n + 2))); - result = sh64_fadds (result, sh64_fmuls (this->h_xf_get (15), this->h_frc_get (n + 3))); + result = this->sh64_fmuls (this->h_xf_get (3), this->h_frc_get (n)); + result = this->sh64_fadds (result, this->sh64_fmuls (this->h_xf_get (7), this->h_frc_get (n + 1))); + result = this->sh64_fadds (result, this->sh64_fmuls (this->h_xf_get (11), this->h_frc_get (n + 2))); + result = this->sh64_fadds (result, this->sh64_fmuls (this->h_xf_get (15), this->h_frc_get (n + 3))); this->h_frc_set (n + 3, result); } Index: sid/component/cgen-cpu/sh/sh64.c =================================================================== RCS file: /cvs/src/src/sid/component/cgen-cpu/sh/sh64.c,v retrieving revision 1.1 diff -u -p -r1.1 sh64.c --- sid/component/cgen-cpu/sh/sh64.c 18 Oct 2006 18:27:28 -0000 1.1 +++ sid/component/cgen-cpu/sh/sh64.c 20 Sep 2013 08:33:05 -0000 @@ -8,8 +8,8 @@ /* These C functions are not used but needed for static linking. We need to refer to the ELF header structure. */ -#include "dis-asm.h" #include "sysdep.h" +#include "dis-asm.h" #include "sh64-opc.h" #include "libiberty.h" #include "elf-bfd.h" Index: sid/component/gloss/angel.h =================================================================== RCS file: /cvs/src/src/sid/component/gloss/angel.h,v retrieving revision 1.2 diff -u -p -r1.2 angel.h --- sid/component/gloss/angel.h 10 Oct 2001 17:19:16 -0000 1.2 +++ sid/component/gloss/angel.h 20 Sep 2013 08:33:07 -0000 @@ -35,6 +35,7 @@ class arm_angel: public gloss32 public: arm_angel(); + ~arm_angel() throw() { } private: Index: sid/component/gloss/m32r.h =================================================================== RCS file: /cvs/src/src/sid/component/gloss/m32r.h,v retrieving revision 1.2 diff -u -p -r1.2 m32r.h --- sid/component/gloss/m32r.h 3 Jan 2002 01:42:02 -0000 1.2 +++ sid/component/gloss/m32r.h 20 Sep 2013 08:33:07 -0000 @@ -15,6 +15,7 @@ class m32r_libgloss: public gloss32 public: m32r_libgloss(); + ~m32r_libgloss() throw() { } private: Index: sid/component/gloss/mips.h =================================================================== RCS file: /cvs/src/src/sid/component/gloss/mips.h,v retrieving revision 1.1 diff -u -p -r1.1 mips.h --- sid/component/gloss/mips.h 7 Dec 2000 19:30:50 -0000 1.1 +++ sid/component/gloss/mips.h 20 Sep 2013 08:33:07 -0000 @@ -18,6 +18,7 @@ class mips32_idt: public gloss32 public: mips32_idt(); + ~mips32_idt() throw() { } private: Index: sid/component/mmu/armRemap.cxx =================================================================== RCS file: /cvs/src/src/sid/component/mmu/armRemap.cxx,v retrieving revision 1.3 diff -u -p -r1.3 armRemap.cxx --- sid/component/mmu/armRemap.cxx 1 Mar 2006 21:07:01 -0000 1.3 +++ sid/component/mmu/armRemap.cxx 20 Sep 2013 08:33:07 -0000 @@ -392,14 +392,14 @@ ostream& operator<< (ostream& op, const << " num-relocs " << static_cast (obj.num_relocations) << " relocs "; - for (armRemapPause::entry_t::const_iterator it = obj.entries.begin(); - it != obj.entries.end(); - it++) + for (armRemapPause::entry_t::const_iterator ie = obj.entries.begin(); + ie != obj.entries.end(); + ie++) { - op << make_attribute(it->second.first) << ","; // start address - op << make_attribute(it->second.second) << ","; // end address + op << make_attribute(ie->second.first) << ","; // start address + op << make_attribute(ie->second.second) << ","; // end address - host_int_4 start_addr = it->second.first; + host_int_4 start_addr = ie->second.first; armRemapPause::translation_t::const_iterator it = obj.translations.find(start_addr); assert(it != obj.translations.end()); op << it->second << " "; // relocated address -- Alan Modra Australia Development Lab, IBM