From 3bcb45b4e798bf5e005572b71dcc7d687ec6b6e4 Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Mon, 12 Mar 2018 14:10:06 +0100 Subject: [PATCH] seoul: support g++ -Weffc++ option Issue #2715 --- repos/ports/ports/seoul.hash | 2 +- repos/ports/ports/seoul.port | 2 +- repos/ports/src/app/seoul/console.h | 34 ++++++++++++------- repos/ports/src/app/seoul/disk.h | 18 ++++++++-- repos/ports/src/app/seoul/main.cc | 28 ++++++++++----- repos/ports/src/app/seoul/network.h | 6 ++++ .../ports/src/app/seoul/spec/32bit/target.mk | 2 -- .../ports/src/app/seoul/spec/64bit/target.mk | 2 -- repos/ports/src/app/seoul/target.inc | 2 +- 9 files changed, 65 insertions(+), 31 deletions(-) diff --git a/repos/ports/ports/seoul.hash b/repos/ports/ports/seoul.hash index 14296af26..2f5d89c18 100644 --- a/repos/ports/ports/seoul.hash +++ b/repos/ports/ports/seoul.hash @@ -1 +1 @@ -cb9a134ba7d65887627d14beaaffbf0aa0c6b93b +17edd2a944f378c3d7243eca9e7ed3da80d14e77 diff --git a/repos/ports/ports/seoul.port b/repos/ports/ports/seoul.port index 5ad3f3922..91ce3688c 100644 --- a/repos/ports/ports/seoul.port +++ b/repos/ports/ports/seoul.port @@ -4,7 +4,7 @@ DOWNLOADS := seoul.git URL(seoul) := https://github.com/alex-ab/seoul.git # branch genode_18_05 -REV(seoul) := 253faafcfa7bbcf68732c9962d6a88052194a0d0 +REV(seoul) := c1f9575c30c66abffc9b7db86cf52ecb12a45ca7 DIR(seoul) := src/app/seoul # diff --git a/repos/ports/src/app/seoul/console.h b/repos/ports/src/app/seoul/console.h index e85447780..1e8d87c11 100644 --- a/repos/ports/src/app/seoul/console.h +++ b/repos/ports/src/app/seoul/console.h @@ -41,6 +41,8 @@ namespace Seoul { class Console; + using Genode::Constructible; + using Genode::Pixel_rgb565; } class Seoul::Console : public StaticReceiver @@ -50,21 +52,21 @@ class Seoul::Console : public StaticReceiver Genode::Env &_env; Motherboard &_unsynchronized_motherboard; Synced_motherboard &_motherboard; - Genode::Constructible _framebuffer; - Genode::Constructible > _surface; - Input::Connection _input = { _env }; - Keyboard _vkeyb = { _motherboard }; - short *_pixels = nullptr; - char *_guest_fb = nullptr; - unsigned long _fb_size = 0; + Constructible _framebuffer { }; + Constructible > _surface { }; + Input::Connection _input { _env }; + Keyboard _vkeyb { _motherboard }; + short *_pixels { nullptr }; + char *_guest_fb { nullptr }; + unsigned long _fb_size { 0 }; Genode::Dataspace_capability _fb_ds; Genode::size_t _vm_fb_size; - VgaRegs *_regs = nullptr; - Framebuffer::Mode _fb_mode; - bool _left = false; - bool _middle = false; - bool _right = false; - unsigned _timer; + VgaRegs *_regs { nullptr }; + Framebuffer::Mode _fb_mode { }; + bool _left { false }; + bool _middle { false }; + bool _right { false }; + unsigned _timer { 0 }; unsigned _input_to_ps2mouse(Input::Event const &); @@ -74,6 +76,12 @@ class Seoul::Console : public StaticReceiver void _handle_input(); unsigned _handle_fb(); + /* + * Noncopyable + */ + Console(Console const &); + Console &operator = (Console const &); + public: /* bus callbacks */ diff --git a/repos/ports/src/app/seoul/disk.h b/repos/ports/src/app/seoul/disk.h index 26ae7864a..c905aa1c0 100644 --- a/repos/ports/src/app/seoul/disk.h +++ b/repos/ports/src/app/seoul/disk.h @@ -71,6 +71,12 @@ class Seoul::Disk : public StaticReceiver Genode::addr_t _key; MessageDisk * _msg; + /* + * Noncopyable + */ + Avl_entry(Avl_entry const &); + Avl_entry &operator = (Avl_entry const &); + public: Avl_entry(void * key, MessageDisk * msg) @@ -96,7 +102,7 @@ class Seoul::Disk : public StaticReceiver Genode::size_t blk_size; Block::sector_t blk_cnt; Disk_signal *signal; - } _diskcon[MAX_DISKS]; + } _diskcon[MAX_DISKS] { }; Synced_motherboard &_motherboard; char * const _backing_store_base; @@ -114,8 +120,14 @@ class Seoul::Disk : public StaticReceiver Avl_entry_slab_sync _tslab_avl; - Genode::Avl_tree _lookup_msg; - Genode::Lock _lookup_msg_lock; + Genode::Avl_tree _lookup_msg { }; + Genode::Lock _lookup_msg_lock { }; + + /* + * Noncopyable + */ + Disk(Disk const &); + Disk &operator = (Disk const &); public: diff --git a/repos/ports/src/app/seoul/main.cc b/repos/ports/src/app/seoul/main.cc index ea4d30312..cb6051943 100644 --- a/repos/ports/src/app/seoul/main.cc +++ b/repos/ports/src/app/seoul/main.cc @@ -186,6 +186,12 @@ class Guest_memory char *_local_addr; char *_fb_addr; + /* + * Noncopyable + */ + Guest_memory(Guest_memory const &); + Guest_memory &operator = (Guest_memory const &); + public: /** @@ -718,6 +724,12 @@ class Vcpu_dispatcher : public Vcpu_handler, Genode::error("could not register handler ", Genode::Hex(exc_base + EV)); } + /* + * Noncopyable + */ + Vcpu_dispatcher(Vcpu_dispatcher const &); + Vcpu_dispatcher &operator = (Vcpu_dispatcher const &); + public: enum { STACK_SIZE = 1024*sizeof(Genode::addr_t) }; @@ -829,12 +841,6 @@ class Vcpu_dispatcher : public Vcpu_handler, unsynchronized_vcpu->executor.add(this, receive_static); } - /** - * Destructor - */ - ~Vcpu_dispatcher() { } - - /*********************************** ** Handlers for 'StaticReceiver' ** ***********************************/ @@ -884,8 +890,8 @@ class Machine : public StaticReceiver Genode::Lock _motherboard_lock; Motherboard _unsynchronized_motherboard; Synced_motherboard _motherboard; - Genode::Lock _timeouts_lock; - TimeoutList<32, void> _unsynchronized_timeouts; + Genode::Lock _timeouts_lock { }; + TimeoutList<32, void> _unsynchronized_timeouts { }; Synced_timeout_list _timeouts; Guest_memory &_guest_memory; Boot_module_provider &_boot_modules; @@ -898,6 +904,12 @@ class Machine : public StaticReceiver Seoul::Network *_nic = nullptr; Rtc::Session *_rtc = nullptr; + /* + * Noncopyable + */ + Machine(Machine const &); + Machine &operator = (Machine const &); + public: /********************************************* diff --git a/repos/ports/src/app/seoul/network.h b/repos/ports/src/app/seoul/network.h index 4154ffcae..13bdd3386 100644 --- a/repos/ports/src/app/seoul/network.h +++ b/repos/ports/src/app/seoul/network.h @@ -54,6 +54,12 @@ class Seoul::Network void _handle_packets(); + /* + * Noncopyable + */ + Network(Network const &); + Network &operator = (Network const &); + public: Network(Genode::Env &, Genode::Heap &, Synced_motherboard &); diff --git a/repos/ports/src/app/seoul/spec/32bit/target.mk b/repos/ports/src/app/seoul/spec/32bit/target.mk index 64664e05d..cc15c9c37 100644 --- a/repos/ports/src/app/seoul/spec/32bit/target.mk +++ b/repos/ports/src/app/seoul/spec/32bit/target.mk @@ -3,5 +3,3 @@ REQUIRES = 32bit LD_TEXT_ADDR = 0xbf800000 include $(REP_DIR)/src/app/seoul/target.inc - -CC_CXX_WARN_STRICT = diff --git a/repos/ports/src/app/seoul/spec/64bit/target.mk b/repos/ports/src/app/seoul/spec/64bit/target.mk index 3c26f8b5d..035810600 100644 --- a/repos/ports/src/app/seoul/spec/64bit/target.mk +++ b/repos/ports/src/app/seoul/spec/64bit/target.mk @@ -3,5 +3,3 @@ REQUIRES = 64bit LD_TEXT_ADDR = 0x7fffbf800000 include $(REP_DIR)/src/app/seoul/target.inc - -CC_CXX_WARN_STRICT = diff --git a/repos/ports/src/app/seoul/target.inc b/repos/ports/src/app/seoul/target.inc index 8cbb21eae..cb4a25a99 100644 --- a/repos/ports/src/app/seoul/target.inc +++ b/repos/ports/src/app/seoul/target.inc @@ -25,7 +25,7 @@ INC_DIR += $(SEOUL_GENODE_DIR)/include INC_DIR += $(REP_DIR)/src/app/seoul/include include $(call select_from_repositories,lib/mk/libc-common.inc) -CC_WARN += -Wno-parentheses -Wall +CC_WARN += -Wno-parentheses -Wall -Wno-unused CC_CXX_OPT += -march=core2 CC_CXX_OPT += -mssse3 CC_OPT_PIC :=