Add void cast to StaticAssertExpr?

Started by Tom Laneabout 8 years ago2 messageshackers
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

While poking around in buildfarm results, I noticed that some members are
giving warnings like

analyze.c:386:181: warning: expression result unused [-Wunused-value]

which is apparently caused by the use of StaticAssertExpr in

#define AllocSetContextCreate(parent, name, allocparams) \
(StaticAssertExpr(__builtin_constant_p(name), \
"Use AllocSetContextCreateExtended with MEMCONTEXT_COPY_NAME for non-constant context names"), \
AllocSetContextCreateExtended(parent, name, 0, allocparams))

Now, I could silence those warnings via

-    (StaticAssertExpr(__builtin_constant_p(name), \
+    ((void) StaticAssertExpr(__builtin_constant_p(name), \

as I see has already been done in two similar uses of StaticAssertExpr in
c.h. However, this seems a bit silly. Wouldn't it be better to put
the void cast right into StaticAssertExpr?

regards, tom lane

#2Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#1)
Re: Add void cast to StaticAssertExpr?

Hi,

On 2018-02-15 12:19:46 -0500, Tom Lane wrote:

While poking around in buildfarm results, I noticed that some members are
giving warnings like

analyze.c:386:181: warning: expression result unused [-Wunused-value]

which is apparently caused by the use of StaticAssertExpr in

#define AllocSetContextCreate(parent, name, allocparams) \
(StaticAssertExpr(__builtin_constant_p(name), \
"Use AllocSetContextCreateExtended with MEMCONTEXT_COPY_NAME for non-constant context names"), \
AllocSetContextCreateExtended(parent, name, 0, allocparams))

Now, I could silence those warnings via

-    (StaticAssertExpr(__builtin_constant_p(name), \
+    ((void) StaticAssertExpr(__builtin_constant_p(name), \

as I see has already been done in two similar uses of StaticAssertExpr in
c.h. However, this seems a bit silly. Wouldn't it be better to put
the void cast right into StaticAssertExpr?

No argument against it here.

Greetings,

Andres Freund