Skip to content

Commit f60ea3d

Browse files
committed
Use __attribute__((fallthrough)) on CLang
Fixes #427
1 parent bf254c7 commit f60ea3d

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/c99-flex.skl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,12 @@ m4_define([[M4_HOOK_STATE_ENTRY_FORMAT]], [[ &yy_transition[$1],
5252
]])
5353
m4_define([[M4_HOOK_NORMAL_STATE_CASE_ARM]], [[ case $1:]])
5454
m4_define([[M4_HOOK_EOF_STATE_CASE_ARM]], [[ case YY_STATE_EOF($1):]])
55-
m4_define([[M4_HOOK_EOF_STATE_CASE_FALLTHROUGH]], [[ /* FALLTHROUGH */]])
55+
m4_define([[M4_HOOK_EOF_STATE_CASE_FALLTHROUGH]], [[
56+
#ifdef __clang__
57+
__attribute__((fallthrough));
58+
#endif
59+
/* FALLTHROUGH */
60+
]])
5661
m4_define([[M4_HOOK_EOF_STATE_CASE_TERMINATE]], [[ yyterminate();
5762
]])
5863
m4_define([[M4_HOOK_TAKE_YYTEXT]], [[yy_do_before_action(yyscanner, yy_cp, yy_bp); /* set up yytext */]])

src/cpp-flex.skl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,12 @@ m4_define([[M4_HOOK_STATE_ENTRY_FORMAT]], [[ &yy_transition[$1],
4242
]])
4343
m4_define([[M4_HOOK_NORMAL_STATE_CASE_ARM]], [[ case $1:]])
4444
m4_define([[M4_HOOK_EOF_STATE_CASE_ARM]], [[ case YY_STATE_EOF($1):]])
45-
m4_define([[M4_HOOK_EOF_STATE_CASE_FALLTHROUGH]], [[ /* FALLTHROUGH */]])
45+
m4_define([[M4_HOOK_EOF_STATE_CASE_FALLTHROUGH]], [[
46+
#ifdef __clang__
47+
__attribute__((fallthrough));
48+
#endif
49+
/* FALLTHROUGH */
50+
]])
4651
m4_define([[M4_HOOK_EOF_STATE_CASE_TERMINATE]], [[ yyterminate();
4752
]])
4853
m4_define([[M4_HOOK_TAKE_YYTEXT]], [[YY_DO_BEFORE_ACTION; /* set up yytext */]])

0 commit comments

Comments
 (0)