Add void cast to StaticAssertExpr?

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: pgsql-hackers@lists.postgresql.org
Date: 2018-02-15T17:19:46Z
Lists: pgsql-hackers
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


Commits

  1. Cast to void in StaticAssertExpr, not its callers.