Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH] sql: fix empty-body warning
@ 2019-12-24 12:42 Nikita Pettik
  2019-12-24 15:38 ` Vladislav Shpilevoy
  0 siblings, 1 reply; 3+ messages in thread
From: Nikita Pettik @ 2019-12-24 12:42 UTC (permalink / raw)
  To: tarantool-patches

GCC features warning diagnostics which allows to detect wrong ; right
after 'if' operator:

if (X == Y); {
    ...
}

In this case despite evaluation of 'if' argument expression, statements
after it will be always executed.

According to our codestyle, we neglect bracers around 'if' body in case
it consists of single statement and fits into one line. On the other
hand, in SQL debug macros like VdbeComment() are defined as empty, so
statements like:

if (X)
    VdbeComment();

turn into

if (X) ;

in release builds. As a result, we get 'false' warning (which is
compilation error in -Werror mode). To fix it let's make VdbeComment()
macros be non-empty in release mode and expand them into (void) 0.
---
Branch: https://github.com/tarantool/tarantool/tree/np/fix-master-build

 src/box/sql/vdbe.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/box/sql/vdbe.h b/src/box/sql/vdbe.h
index 582d48a1f..d6fa97d90 100644
--- a/src/box/sql/vdbe.h
+++ b/src/box/sql/vdbe.h
@@ -293,9 +293,9 @@ void sqlVdbeNoopComment(Vdbe *, const char *, ...);
 #define VdbeModuleComment(X)
 #endif
 #else
-#define VdbeComment(X)
-#define VdbeNoopComment(X)
-#define VdbeModuleComment(X)
+#define VdbeComment(X) (void) 0
+#define VdbeNoopComment(X) (void) 0
+#define VdbeModuleComment(X) (void) 0
 #endif
 
 /*
-- 
2.15.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Tarantool-patches] [PATCH] sql: fix empty-body warning
  2019-12-24 12:42 [Tarantool-patches] [PATCH] sql: fix empty-body warning Nikita Pettik
@ 2019-12-24 15:38 ` Vladislav Shpilevoy
  2019-12-24 16:13   ` Nikita Pettik
  0 siblings, 1 reply; 3+ messages in thread
From: Vladislav Shpilevoy @ 2019-12-24 15:38 UTC (permalink / raw)
  To: Nikita Pettik, tarantool-patches

Thanks for the patch!

LGTM.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Tarantool-patches] [PATCH] sql: fix empty-body warning
  2019-12-24 15:38 ` Vladislav Shpilevoy
@ 2019-12-24 16:13   ` Nikita Pettik
  0 siblings, 0 replies; 3+ messages in thread
From: Nikita Pettik @ 2019-12-24 16:13 UTC (permalink / raw)
  To: Vladislav Shpilevoy; +Cc: tarantool-patches

On 24 Dec 16:38, Vladislav Shpilevoy wrote:
> Thanks for the patch!
> 
> LGTM.

Pushed to master.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-12-24 16:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-24 12:42 [Tarantool-patches] [PATCH] sql: fix empty-body warning Nikita Pettik
2019-12-24 15:38 ` Vladislav Shpilevoy
2019-12-24 16:13   ` Nikita Pettik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox