From d104ccf947c66035850048e044e76a4dfb4dec7f Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Mon, 6 Apr 2020 06:49:45 -0700 Subject: warning cleanup: GNU C++ initializer warnings. This is the eight and final round of an effort to enable GCC's -Wextra option. The C++ compiler, with -Wextra, doesn't like C's universal struct initializer { 0 }, individually complaining about all the remaining members not being initialized. What works in C++ is the { } initializer. Conditional definition to the rescue. * lib.h (all_zero_init): New macro which expands to { } under C++, and { 0 } under C. * lib.c (make_time_impl, epoch_tm, time_string_meth, time_parse_meth): Use all_zero_init. * parser.c (prime_parser): Likewise. * socket.c (sock_mark_connected): Likewise. * sysif.c (fcntl_wrap): Likewise. * termios.c (encode_speeds, decode_speeds): Likewise. * configure (diag_flags): Add -Wextra. --- parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'parser.c') diff --git a/parser.c b/parser.c index c6699988..992e9719 100644 --- a/parser.c +++ b/parser.c @@ -206,7 +206,7 @@ val parser_set_lineno(val self, val stream, val lineno) void prime_parser(parser_t *p, val name, enum prime_parser prim) { - struct yy_token sec_tok = { 0 }; + struct yy_token sec_tok = all_zero_init; switch (prim) { case prime_lisp: -- cgit v1.2.3