summaryrefslogtreecommitdiffstats
path: root/recipes-support/spice/files/Fix-build-issues-with-gcc-7.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-support/spice/files/Fix-build-issues-with-gcc-7.patch')
-rw-r--r--recipes-support/spice/files/Fix-build-issues-with-gcc-7.patch59
1 files changed, 59 insertions, 0 deletions
diff --git a/recipes-support/spice/files/Fix-build-issues-with-gcc-7.patch b/recipes-support/spice/files/Fix-build-issues-with-gcc-7.patch
new file mode 100644
index 0000000..7fcafdc
--- /dev/null
+++ b/recipes-support/spice/files/Fix-build-issues-with-gcc-7.patch
@@ -0,0 +1,59 @@
1From 9f001b6818ac4baa1df010ccf4200ca56bfb11b2 Mon Sep 17 00:00:00 2001
2From: Mark Asselstine <mark.asselstine@windriver.com>
3Date: Wed, 23 Aug 2017 13:47:29 -0400
4Subject: [PATCH] Fix build issues with gcc 7
5
6gcc 7 checks for when a switch statement doesn't break between
7cases. When a break is not found you will see
8
9| ../../git/server/reds.c: In function 'vdi_port_read_one_msg_from_device':
10| ../../git/server/reds.c:797:31: error: this statement may fall through [-Werror=implicit-fallthrough=]
11| state->read_state = VDI_PORT_READ_STATE_GET_BUFF;
12| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13| ../../git/server/reds.c:798:9: note: here
14| case VDI_PORT_READ_STATE_GET_BUFF: {
15| ^~~~
16
17The 'fallthrough' comment will let gcc know this is done on purpose.
18
19Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
20---
21 server/inputs_channel.c | 1 +
22 server/reds.c | 2 ++
23 2 files changed, 3 insertions(+)
24
25diff --git a/server/inputs_channel.c b/server/inputs_channel.c
26index 931dac1..534ab66 100644
27--- a/server/inputs_channel.c
28+++ b/server/inputs_channel.c
29@@ -321,6 +321,7 @@ static int inputs_channel_handle_parsed(RedChannelClient *rcc, uint32_t size, ui
30 activate_modifiers_watch();
31 }
32 }
33+ /* fallthrough */
34 case SPICE_MSGC_INPUTS_KEY_UP: {
35 SpiceMsgcKeyDown *key_down = (SpiceMsgcKeyDown *)buf;
36 for (i = 0; i < 4; i++) {
37diff --git a/server/reds.c b/server/reds.c
38index 30d0652..8c80eb6 100644
39--- a/server/reds.c
40+++ b/server/reds.c
41@@ -795,6 +795,7 @@ static SpiceCharDeviceMsgToClient *vdi_port_read_one_msg_from_device(SpiceCharDe
42 }
43 state->message_recive_len = state->vdi_chunk_header.size;
44 state->read_state = VDI_PORT_READ_STATE_GET_BUFF;
45+ /* fallthrough */
46 case VDI_PORT_READ_STATE_GET_BUFF: {
47 if (!(state->current_read_buf = vdi_port_read_buf_get())) {
48 return NULL;
49@@ -806,6 +807,7 @@ static SpiceCharDeviceMsgToClient *vdi_port_read_one_msg_from_device(SpiceCharDe
50 state->message_recive_len -= state->recive_len;
51 state->read_state = VDI_PORT_READ_STATE_READ_DATA;
52 }
53+ /* fallthrough */
54 case VDI_PORT_READ_STATE_READ_DATA:
55 n = sif->read(vdagent, state->recive_pos, state->recive_len);
56 if (!n) {
57--
582.7.4
59