Skip to content

Commit fed30e6

Browse files
authored
Avoid clang warning -Wmissing-braces (PR #19 extra, thanks @mazunki) (#83)
1 parent 685313f commit fed30e6

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

include/lest/lest.hpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,19 +95,23 @@
9595
// Suppress shadow and unused-value warning for sections:
9696

9797
#if defined (__clang__)
98+
# define lest_SUPPRESS_WMISBRACES _Pragma( "clang diagnostic push" ) \
99+
_Pragma( "clang diagnostic ignored \"-Wmissing-braces\"" )
98100
# define lest_SUPPRESS_WSHADOW _Pragma( "clang diagnostic push" ) \
99101
_Pragma( "clang diagnostic ignored \"-Wshadow\"" )
100102
# define lest_SUPPRESS_WUNUSED _Pragma( "clang diagnostic push" ) \
101103
_Pragma( "clang diagnostic ignored \"-Wunused-value\"" )
102104
# define lest_RESTORE_WARNINGS _Pragma( "clang diagnostic pop" )
103105

104106
#elif defined (__GNUC__)
107+
# define lest_SUPPRESS_WMISBRACES /*empty*/
105108
# define lest_SUPPRESS_WSHADOW _Pragma( "GCC diagnostic push" ) \
106109
_Pragma( "GCC diagnostic ignored \"-Wshadow\"" )
107110
# define lest_SUPPRESS_WUNUSED _Pragma( "GCC diagnostic push" ) \
108111
_Pragma( "GCC diagnostic ignored \"-Wunused-value\"" )
109112
# define lest_RESTORE_WARNINGS _Pragma( "GCC diagnostic pop" )
110113
#else
114+
# define lest_SUPPRESS_WMISBRACES /*empty*/
111115
# define lest_SUPPRESS_WSHADOW /*empty*/
112116
# define lest_SUPPRESS_WUNUSED /*empty*/
113117
# define lest_RESTORE_WARNINGS /*empty*/
@@ -192,10 +196,14 @@
192196
#else // lest_FEATURE_AUTO_REGISTER
193197

194198
# define lest_CASE( proposition ) \
195-
proposition, []( lest::env & lest_env )
199+
lest_SUPPRESS_WMISBRACES \
200+
proposition, []( lest::env & lest_env ) \
201+
lest_RESTORE_WARNINGS
196202

197203
# define lest_CASE_ON( proposition, ... ) \
198-
proposition, [__VA_ARGS__]( lest::env & lest_env )
204+
lest_SUPPRESS_WMISBRACES \
205+
proposition, [__VA_ARGS__]( lest::env & lest_env ) \
206+
lest_RESTORE_WARNINGS
199207

200208
# define lest_MODULE( specification, module ) \
201209
namespace { lest::add_module _( specification, module ); }

0 commit comments

Comments
 (0)