summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2018-09-07 12:53:51 +0100
committerVincent Sanders <vince@kyllikki.org>2018-09-07 12:53:51 +0100
commite4537cb37ed5b075c62723c9a49348c76eeb3d5c (patch)
tree8b195d9b112bb4613c3c52e3f83b25e6eb6152f4
parentbd8991c2f6546d42008ade8dd4db133a120c44db (diff)
downloadnetsurf-e4537cb37ed5b075c62723c9a49348c76eeb3d5c.tar.gz
netsurf-e4537cb37ed5b075c62723c9a49348c76eeb3d5c.tar.bz2
allow comments to supress implicit fallthrough warnings
-rw-r--r--Makefile5
-rw-r--r--content/handlers/css/hints.c10
-rw-r--r--content/handlers/html/box.c2
3 files changed, 11 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index ae1c6a2d8..04f3263d0 100644
--- a/Makefile
+++ b/Makefile
@@ -491,6 +491,11 @@ ifeq ($(call cc_ver_ge,4,6),1)
COMMON_WARNFLAGS += -Wno-unused-but-set-variable
endif
+# Implicit fallthrough warnings suppressed by comment
+ifeq ($(call cc_ver_ge,7,1),1)
+ COMMON_WARNFLAGS += -Wimplicit-fallthrough=3
+endif
+
# deal with chaging warning flags for different platforms
ifeq ($(HOST),OpenBSD)
# OpenBSD headers are not compatible with redundant declaration warning
diff --git a/content/handlers/css/hints.c b/content/handlers/css/hints.c
index 3a15f8e08..d3d27fb3c 100644
--- a/content/handlers/css/hints.c
+++ b/content/handlers/css/hints.c
@@ -1538,22 +1538,22 @@ css_error node_presentational_hint(void *pw, void *node,
css_hint_width(pw, node);
css_hint_table_cell_border_padding(pw, node);
css_hint_white_space_nowrap(pw, node);
- /* fallthrough */
+ /* fall through */
case DOM_HTML_ELEMENT_TYPE_TR:
css_hint_height(pw, node);
- /* fallthrough */
+ /* fall through */
case DOM_HTML_ELEMENT_TYPE_THEAD:
case DOM_HTML_ELEMENT_TYPE_TBODY:
case DOM_HTML_ELEMENT_TYPE_TFOOT:
css_hint_text_align_special(pw, node);
- /* fallthrough */
+ /* fall through */
case DOM_HTML_ELEMENT_TYPE_COL:
css_hint_vertical_align_table_cells(pw, node);
break;
case DOM_HTML_ELEMENT_TYPE_APPLET:
case DOM_HTML_ELEMENT_TYPE_IMG:
css_hint_margin_hspace_vspace(pw, node);
- /* fallthrough */
+ /* fall through */
case DOM_HTML_ELEMENT_TYPE_EMBED:
case DOM_HTML_ELEMENT_TYPE_IFRAME:
case DOM_HTML_ELEMENT_TYPE_OBJECT:
@@ -1576,7 +1576,7 @@ css_error node_presentational_hint(void *pw, void *node,
break;
case DOM_HTML_ELEMENT_TYPE_CAPTION:
css_hint_caption_side(pw, node);
- /* fallthrough */
+ /* fall through */
case DOM_HTML_ELEMENT_TYPE_DIV:
css_hint_text_align_special(pw, node);
break;
diff --git a/content/handlers/html/box.c b/content/handlers/html/box.c
index 52cf12413..d9e649558 100644
--- a/content/handlers/html/box.c
+++ b/content/handlers/html/box.c
@@ -505,7 +505,7 @@ static inline struct box *box_move_xy(struct box *b, enum box_walk_dir dir,
rb = b;
break;
}
- /* Fall through */
+ /* fall through */
case BOX_WALK_NEXT_SIBLING:
do {