]> granicus.if.org Git - postgresql/commitdiff
Clean up compiler warnings from unused variables with asserts disabled
authorPeter Eisentraut <peter_e@gmx.net>
Wed, 21 Mar 2012 21:30:14 +0000 (23:30 +0200)
committerPeter Eisentraut <peter_e@gmx.net>
Wed, 21 Mar 2012 21:33:10 +0000 (23:33 +0200)
For those variables only used when asserts are enabled, use a new
macro PG_USED_FOR_ASSERTS_ONLY, which expands to
__attribute__((unused)) when asserts are not enabled.

15 files changed:
src/backend/access/hash/hashovfl.c
src/backend/executor/execCurrent.c
src/backend/executor/nodeMaterial.c
src/backend/executor/nodeSetOp.c
src/backend/executor/nodeWorktablescan.c
src/backend/libpq/be-fsstubs.c
src/backend/libpq/pqcomm.c
src/backend/optimizer/path/costsize.c
src/backend/parser/analyze.c
src/backend/storage/file/fd.c
src/backend/storage/lmgr/predicate.c
src/backend/storage/lmgr/proc.c
src/backend/utils/adt/selfuncs.c
src/bin/psql/psqlscan.l
src/include/c.h

index 130c29616cd0d3c946e8a72e8e55086bea51d969..96dabdb48ae689d3fc551cb6a3d854f3c5e7e8a1 100644 (file)
@@ -391,7 +391,7 @@ _hash_freeovflpage(Relation rel, Buffer ovflbuf,
        uint32          ovflbitno;
        int32           bitmappage,
                                bitmapbit;
-       Bucket          bucket;
+       Bucket          bucket PG_USED_FOR_ASSERTS_ONLY;
 
        /* Get information from the doomed page */
        _hash_checkpage(rel, ovflbuf, LH_OVERFLOW_PAGE);
index b07161fba433e97e5f97dbe9de388a6fee8dbef0..03790bbe066fb26c8107ef64bcfbf05b13de5690 100644 (file)
@@ -151,7 +151,7 @@ execCurrentOf(CurrentOfExpr *cexpr,
        {
                ScanState  *scanstate;
                bool            lisnull;
-               Oid                     tuple_tableoid;
+               Oid                     tuple_tableoid PG_USED_FOR_ASSERTS_ONLY;
                ItemPointer tuple_tid;
 
                /*
index b320b545aa1e4eb11854f26ffdda65d10a5c4e94..06137c6ba80bd0e8235bc352f8df22d60c8be60f 100644 (file)
@@ -66,7 +66,7 @@ ExecMaterial(MaterialState *node)
                         * Allocate a second read pointer to serve as the mark. We know it
                         * must have index 1, so needn't store that.
                         */
-                       int                     ptrno;
+                       int                     ptrno PG_USED_FOR_ASSERTS_ONLY;
 
                        ptrno = tuplestore_alloc_read_pointer(tuplestorestate,
                                                                                                  node->eflags);
index 7fa5730b10b84996b0d0fc06419f6e1d79cf4c95..85590445ccc9faf5231562a152fed5d35843da39 100644 (file)
@@ -344,7 +344,7 @@ setop_fill_hash_table(SetOpState *setopstate)
        SetOp      *node = (SetOp *) setopstate->ps.plan;
        PlanState  *outerPlan;
        int                     firstFlag;
-       bool            in_first_rel;
+       bool            in_first_rel PG_USED_FOR_ASSERTS_ONLY;
 
        /*
         * get state info from node
index e2f3dd4d2e23dfe992dd6b3e837c148de586744a..9ada6809f9334d4094bc19758aaf8bde5558983d 100644 (file)
@@ -30,7 +30,6 @@ static TupleTableSlot *
 WorkTableScanNext(WorkTableScanState *node)
 {
        TupleTableSlot *slot;
-       EState     *estate;
        Tuplestorestate *tuplestorestate;
 
        /*
@@ -48,8 +47,7 @@ WorkTableScanNext(WorkTableScanState *node)
         * worktable.  Therefore, we don't need a private read pointer for the
         * tuplestore, nor do we need to tell tuplestore_gettupleslot to copy.
         */
-       estate = node->ss.ps.state;
-       Assert(ScanDirectionIsForward(estate->es_direction));
+       Assert(ScanDirectionIsForward(node->ss.ps.state->es_direction));
 
        tuplestorestate = node->rustate->working_table;
 
index b864c868f2bdbf06a48ed44b859fdc3fdb5031d1..6f7e474f675485766c7ffca7312d0f1e0adbb83d 100644 (file)
@@ -378,7 +378,7 @@ lo_import_internal(text *filename, Oid lobjOid)
 {
        File            fd;
        int                     nbytes,
-                               tmp;
+                               tmp PG_USED_FOR_ASSERTS_ONLY;
        char            buf[BUFSIZE];
        char            fnamebuf[MAXPGPATH];
        LargeObjectDesc *lobj;
index 35812f4491113770f6713b04be3307d3b58de301..2082e3d4f6f97314c35cdca4b8f62c08083c13e4 100644 (file)
@@ -1373,7 +1373,7 @@ fail:
 void
 pq_putmessage_noblock(char msgtype, const char *s, size_t len)
 {
-       int                     res;
+       int                     res PG_USED_FOR_ASSERTS_ONLY;
        int                     required;
 
        /*
index 24c853d47ef1aabb95156f90be4a8f3ea3d4995e..9cae27b99eb253362fddf6ec00e6f736a5243c52 100644 (file)
@@ -3583,7 +3583,7 @@ void
 set_subquery_size_estimates(PlannerInfo *root, RelOptInfo *rel)
 {
        PlannerInfo *subroot = rel->subroot;
-       RangeTblEntry *rte;
+       RangeTblEntry *rte PG_USED_FOR_ASSERTS_ONLY;
        ListCell   *lc;
 
        /* Should only be applied to base relations that are subqueries */
index 3329e9c964548e40a84397e8c26135f1cae74c58..485d686b058f1281abb4a10f4e3f821483f3a05f 100644 (file)
@@ -1588,7 +1588,7 @@ transformSetOperationTree(ParseState *pstate, SelectStmt *stmt,
                /* Process leaf SELECT */
                Query      *selectQuery;
                char            selectName[32];
-               RangeTblEntry *rte;
+               RangeTblEntry *rte PG_USED_FOR_ASSERTS_ONLY;
                RangeTblRef *rtr;
                ListCell   *tl;
 
index 52d9b6da940cf406f404d364ba1e1cd8634b9e06..8f442f0a7f81745c55a9fdae66737f088515d300 100644 (file)
@@ -685,7 +685,7 @@ LruInsert(File file)
                /* seek to the right position */
                if (vfdP->seekPos != (off_t) 0)
                {
-                       off_t           returnValue;
+                       off_t           returnValue PG_USED_FOR_ASSERTS_ONLY;
 
                        returnValue = lseek(vfdP->fd, vfdP->seekPos, SEEK_SET);
                        Assert(returnValue != (off_t) -1);
index 08fb69c32e5ccd393afd1333cb32fe460e77cbfd..1001ed2a17143843aa9aff09eb03e842df301a96 100644 (file)
@@ -2013,7 +2013,7 @@ RestoreScratchTarget(bool lockheld)
 static void
 RemoveTargetIfNoLongerUsed(PREDICATELOCKTARGET *target, uint32 targettaghash)
 {
-       PREDICATELOCKTARGET *rmtarget;
+       PREDICATELOCKTARGET *rmtarget PG_USED_FOR_ASSERTS_ONLY;
 
        Assert(LWLockHeldByMe(SerializablePredicateLockListLock));
 
@@ -2074,7 +2074,7 @@ DeleteChildTargetLocks(const PREDICATELOCKTARGETTAG *newtargettag)
                {
                        uint32          oldtargettaghash;
                        LWLockId        partitionLock;
-                       PREDICATELOCK *rmpredlock;
+                       PREDICATELOCK *rmpredlock PG_USED_FOR_ASSERTS_ONLY;
 
                        oldtargettaghash = PredicateLockTargetTagHashCode(&oldtargettag);
                        partitionLock = PredicateLockHashPartitionLock(oldtargettaghash);
@@ -2227,7 +2227,7 @@ DecrementParentLocks(const PREDICATELOCKTARGETTAG *targettag)
        {
                uint32          targettaghash;
                LOCALPREDICATELOCK *parentlock,
-                                  *rmlock;
+                                  *rmlock PG_USED_FOR_ASSERTS_ONLY;
 
                parenttag = nexttag;
                targettaghash = PredicateLockTargetTagHashCode(&parenttag);
index 2196f514d8f7ba01a5c4017ba12f3b15426115f1..2926c159bdce303834a45cf3f706c01d55ebb451 100644 (file)
@@ -808,7 +808,7 @@ static void
 AuxiliaryProcKill(int code, Datum arg)
 {
        int                     proctype = DatumGetInt32(arg);
-       PGPROC     *auxproc;
+       PGPROC     *auxproc PG_USED_FOR_ASSERTS_ONLY;
 
        Assert(proctype >= 0 && proctype < NUM_AUXILIARY_PROCS);
 
index 7662b31729bb966e7cc7a94636f6ca36e2788f30..ced40484c4a6f00914be869aa112005e6546544c 100644 (file)
@@ -3874,7 +3874,7 @@ convert_string_datum(Datum value, Oid typid)
        {
                char       *xfrmstr;
                size_t          xfrmlen;
-               size_t          xfrmlen2;
+               size_t          xfrmlen2 PG_USED_FOR_ASSERTS_ONLY;
 
                /*
                 * Note: originally we guessed at a suitable output buffer size, and
@@ -6408,7 +6408,7 @@ btcostestimate(PG_FUNCTION_ARGS)
                RestrictInfo *rinfo = (RestrictInfo *) lfirst(lcc);
                Expr       *clause;
                Node       *leftop,
-                                  *rightop;
+                                  *rightop PG_USED_FOR_ASSERTS_ONLY;
                Oid                     clause_op;
                int                     op_strategy;
                bool            is_null_op = false;
index a27bcd1ba731d7d62b2e5a0a75ce44695d7deb26..1208c8f475cac29ff38016d0ef867682e9a3a7d9 100644 (file)
@@ -1474,7 +1474,7 @@ psql_scan_slash_option(PsqlScanState state,
                                           bool semicolon)
 {
        PQExpBufferData mybuf;
-       int                     lexresult;
+       int                     lexresult PG_USED_FOR_ASSERTS_ONLY;
        char            local_quote;
 
        /* Must be scanning already */
index 82acd14a9b4709fcfca778521b21018ce96c33b4..96375ab567c339f19924d1a15e9a26ad214b6d57 100644 (file)
@@ -710,6 +710,18 @@ typedef NameData *Name;
 #define STATUS_WAITING                 (2)
 
 
+/*
+ * Append PG_USED_FOR_ASSERTS_ONLY to definitions of variables that are only
+ * used in assert-enabled builds, to avoid compiler warnings about unused
+ * variables in assert-disabled builds.
+ */
+#ifdef USE_ASSERT_CHECKING
+#define PG_USED_FOR_ASSERTS_ONLY
+#else
+#define PG_USED_FOR_ASSERTS_ONLY __attribute__((unused))
+#endif
+
+
 /* gettext domain name mangling */
 
 /*