seoul: support g++ -Weffc++ option

Issue #2715
This commit is contained in:
Alexander Boettcher 2018-03-12 14:10:06 +01:00 committed by Christian Helmuth
parent 6e2bd945b1
commit 3bcb45b4e7
9 changed files with 65 additions and 31 deletions

View File

@ -1 +1 @@
cb9a134ba7d65887627d14beaaffbf0aa0c6b93b
17edd2a944f378c3d7243eca9e7ed3da80d14e77

View File

@ -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
#

View File

@ -41,6 +41,8 @@
namespace Seoul {
class Console;
using Genode::Constructible;
using Genode::Pixel_rgb565;
}
class Seoul::Console : public StaticReceiver<Seoul::Console>
@ -50,21 +52,21 @@ class Seoul::Console : public StaticReceiver<Seoul::Console>
Genode::Env &_env;
Motherboard &_unsynchronized_motherboard;
Synced_motherboard &_motherboard;
Genode::Constructible<Framebuffer::Connection> _framebuffer;
Genode::Constructible<Genode::Surface<Genode::Pixel_rgb565> > _surface;
Input::Connection _input = { _env };
Keyboard _vkeyb = { _motherboard };
short *_pixels = nullptr;
char *_guest_fb = nullptr;
unsigned long _fb_size = 0;
Constructible<Framebuffer::Connection> _framebuffer { };
Constructible<Genode::Surface<Pixel_rgb565> > _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<Seoul::Console>
void _handle_input();
unsigned _handle_fb();
/*
* Noncopyable
*/
Console(Console const &);
Console &operator = (Console const &);
public:
/* bus callbacks */

View File

@ -71,6 +71,12 @@ class Seoul::Disk : public StaticReceiver<Seoul::Disk>
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<Seoul::Disk>
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<Seoul::Disk>
Avl_entry_slab_sync _tslab_avl;
Genode::Avl_tree<Avl_entry> _lookup_msg;
Genode::Lock _lookup_msg_lock;
Genode::Avl_tree<Avl_entry> _lookup_msg { };
Genode::Lock _lookup_msg_lock { };
/*
* Noncopyable
*/
Disk(Disk const &);
Disk &operator = (Disk const &);
public:

View File

@ -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<CpuMessage>);
}
/**
* Destructor
*/
~Vcpu_dispatcher() { }
/***********************************
** Handlers for 'StaticReceiver' **
***********************************/
@ -884,8 +890,8 @@ class Machine : public StaticReceiver<Machine>
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<Machine>
Seoul::Network *_nic = nullptr;
Rtc::Session *_rtc = nullptr;
/*
* Noncopyable
*/
Machine(Machine const &);
Machine &operator = (Machine const &);
public:
/*********************************************

View File

@ -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 &);

View File

@ -3,5 +3,3 @@ REQUIRES = 32bit
LD_TEXT_ADDR = 0xbf800000
include $(REP_DIR)/src/app/seoul/target.inc
CC_CXX_WARN_STRICT =

View File

@ -3,5 +3,3 @@ REQUIRES = 64bit
LD_TEXT_ADDR = 0x7fffbf800000
include $(REP_DIR)/src/app/seoul/target.inc
CC_CXX_WARN_STRICT =

View File

@ -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 :=