As you might have heard, GCC 4.6 was released the other day.  It
generates a bunch of new warnings with the PostgreSQL source code, most
of which belong to the new warning scenario -Wunused-but-set-variable,
which is included in -Wall.

Attached is a patch that gets rid of most of these.  As you can see,
most of these remove real leftover garbage.  The line I marked in
pg_basebackup.c might be an actual problem: It goes through a whole lot
to figure out the timeline and then doesn't do anything with it.  In
some other cases, however, one might argue that the changes lose some
clarity, such as when dropping the return value of strtoul() or
va_arg().  How should we proceed?  In any case, my patch should be
re-reviewed for any possible side effects that I might have hastily
removed.

diff --git i/contrib/isn/isn.c w/contrib/isn/isn.c
index 46e904b..b698cb0 100644
--- i/contrib/isn/isn.c
+++ w/contrib/isn/isn.c
@@ -341,8 +341,7 @@ ean2isn(ean13 ean, bool errorOK, ean13 *result, enum isn_type accept)
 	enum isn_type type = INVALID;
 
 	char		buf[MAXEAN13LEN + 1];
-	char	   *firstdig,
-			   *aux;
+	char	   *aux;
 	unsigned	digval;
 	unsigned	search;
 	ean13		ret = ean;
@@ -354,7 +353,7 @@ ean2isn(ean13 ean, bool errorOK, ean13 *result, enum isn_type accept)
 
 	/* convert the number */
 	search = 0;
-	firstdig = aux = buf + 13;
+	aux = buf + 13;
 	*aux = '\0';				/* terminate string; aux points to last digit */
 	do
 	{
@@ -528,8 +527,7 @@ ean2string(ean13 ean, bool errorOK, char *result, bool shortType)
 	const unsigned (*TABLE_index)[2];
 	enum isn_type type = INVALID;
 
-	char	   *firstdig,
-			   *aux;
+	char	   *aux;
 	unsigned	digval;
 	unsigned	search;
 	char		valid = '\0';	/* was the number initially written with a
@@ -546,7 +544,7 @@ ean2string(ean13 ean, bool errorOK, char *result, bool shortType)
 
 	/* convert the number */
 	search = 0;
-	firstdig = aux = result + MAXEAN13LEN;
+	aux = result + MAXEAN13LEN;
 	*aux = '\0';				/* terminate string; aux points to last digit */
 	*--aux = valid;				/* append '!' for numbers with invalid but
 								 * corrected check digit */
diff --git i/contrib/pageinspect/fsmfuncs.c w/contrib/pageinspect/fsmfuncs.c
index eca3230..38c4e23 100644
--- i/contrib/pageinspect/fsmfuncs.c
+++ w/contrib/pageinspect/fsmfuncs.c
@@ -35,7 +35,6 @@ Datum
 fsm_page_contents(PG_FUNCTION_ARGS)
 {
 	bytea	   *raw_page = PG_GETARG_BYTEA_P(0);
-	int			raw_page_size;
 	StringInfoData sinfo;
 	FSMPage		fsmpage;
 	int			i;
@@ -45,7 +44,6 @@ fsm_page_contents(PG_FUNCTION_ARGS)
 				(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
 				 (errmsg("must be superuser to use raw page functions"))));
 
-	raw_page_size = VARSIZE(raw_page) - VARHDRSZ;
 	fsmpage = (FSMPage) PageGetContents(VARDATA(raw_page));
 
 	initStringInfo(&sinfo);
diff --git i/contrib/pgcrypto/pgp-s2k.c w/contrib/pgcrypto/pgp-s2k.c
index ef16caf..349234e 100644
--- i/contrib/pgcrypto/pgp-s2k.c
+++ w/contrib/pgcrypto/pgp-s2k.c
@@ -39,14 +39,12 @@ static int
 calc_s2k_simple(PGP_S2K *s2k, PX_MD *md, const uint8 *key,
 				unsigned key_len)
 {
-	unsigned	md_bs,
-				md_rlen;
+	unsigned	md_rlen;
 	uint8		buf[PGP_MAX_DIGEST];
 	unsigned	preload;
 	unsigned	remain;
 	uint8	   *dst = s2k->key;
 
-	md_bs = px_md_block_size(md);
 	md_rlen = px_md_result_size(md);
 
 	remain = s2k->key_len;
@@ -83,14 +81,12 @@ calc_s2k_simple(PGP_S2K *s2k, PX_MD *md, const uint8 *key,
 static int
 calc_s2k_salted(PGP_S2K *s2k, PX_MD *md, const uint8 *key, unsigned key_len)
 {
-	unsigned	md_bs,
-				md_rlen;
+	unsigned	md_rlen;
 	uint8		buf[PGP_MAX_DIGEST];
 	unsigned	preload = 0;
 	uint8	   *dst;
 	unsigned	remain;
 
-	md_bs = px_md_block_size(md);
 	md_rlen = px_md_result_size(md);
 
 	dst = s2k->key;
@@ -129,8 +125,7 @@ static int
 calc_s2k_iter_salted(PGP_S2K *s2k, PX_MD *md, const uint8 *key,
 					 unsigned key_len)
 {
-	unsigned	md_bs,
-				md_rlen;
+	unsigned	md_rlen;
 	uint8		buf[PGP_MAX_DIGEST];
 	uint8	   *dst;
 	unsigned	preload = 0;
@@ -143,7 +138,6 @@ calc_s2k_iter_salted(PGP_S2K *s2k, PX_MD *md, const uint8 *key,
 	cval = s2k->iter;
 	count = ((unsigned) 16 + (cval & 15)) << ((cval >> 4) + 6);
 
-	md_bs = px_md_block_size(md);
 	md_rlen = px_md_result_size(md);
 
 	remain = s2k->key_len;
diff --git i/contrib/pgcrypto/px-hmac.c w/contrib/pgcrypto/px-hmac.c
index 16abc43..36efabd 100644
--- i/contrib/pgcrypto/px-hmac.c
+++ w/contrib/pgcrypto/px-hmac.c
@@ -52,13 +52,11 @@ static void
 hmac_init(PX_HMAC *h, const uint8 *key, unsigned klen)
 {
 	unsigned	bs,
-				hlen,
 				i;
 	uint8	   *keybuf;
 	PX_MD	   *md = h->md;
 
 	bs = px_md_block_size(md);
-	hlen = px_md_result_size(md);
 	keybuf = px_alloc(bs);
 	memset(keybuf, 0, bs);
 
diff --git i/contrib/pgcrypto/px.c w/contrib/pgcrypto/px.c
index 768c7c3..e3f5e26 100644
--- i/contrib/pgcrypto/px.c
+++ w/contrib/pgcrypto/px.c
@@ -162,14 +162,12 @@ combo_init(PX_Combo *cx, const uint8 *key, unsigned klen,
 		   const uint8 *iv, unsigned ivlen)
 {
 	int			err;
-	unsigned	bs,
-				ks,
+	unsigned	ks,
 				ivs;
 	PX_Cipher  *c = cx->cipher;
 	uint8	   *ivbuf = NULL;
 	uint8	   *keybuf;
 
-	bs = px_cipher_block_size(c);
 	ks = px_cipher_key_size(c);
 
 	ivs = px_cipher_iv_size(c);
@@ -205,7 +203,6 @@ combo_encrypt(PX_Combo *cx, const uint8 *data, unsigned dlen,
 	int			err = 0;
 	uint8	   *bbuf;
 	unsigned	bs,
-				maxlen,
 				bpos,
 				i,
 				pad;
@@ -213,7 +210,6 @@ combo_encrypt(PX_Combo *cx, const uint8 *data, unsigned dlen,
 	PX_Cipher  *c = cx->cipher;
 
 	bbuf = NULL;
-	maxlen = *rlen;
 	bs = px_cipher_block_size(c);
 
 	/* encrypt */
diff --git i/contrib/seg/seg.c w/contrib/seg/seg.c
index afada2a..5cadb9c 100644
--- i/contrib/seg/seg.c
+++ w/contrib/seg/seg.c
@@ -867,7 +867,6 @@ restore(char *result, float val, int n)
 		'0', '0', '0', '0', '\0'
 	};
 	char	   *p;
-	char	   *mant;
 	int			exp;
 	int			i,
 				dp,
@@ -893,7 +892,7 @@ restore(char *result, float val, int n)
 	*p = '\0';
 
 	/* get the exponent */
-	mant = (char *) strtok(strdup(result), "e");
+	strtok(strdup(result), "e");
 	exp = atoi(strtok(NULL, "e"));
 
 	if (exp == 0)
diff --git i/src/backend/access/gist/gistvacuum.c w/src/backend/access/gist/gistvacuum.c
index 4369d01..33e6f34 100644
--- i/src/backend/access/gist/gistvacuum.c
+++ w/src/backend/access/gist/gistvacuum.c
@@ -38,8 +38,6 @@ gistvacuumcleanup(PG_FUNCTION_ARGS)
 	BlockNumber npages,
 				blkno;
 	BlockNumber totFreePages;
-	BlockNumber lastBlock = GIST_ROOT_BLKNO,
-				lastFilledBlock = GIST_ROOT_BLKNO;
 	bool		needLock;
 
 	/* No-op in ANALYZE ONLY mode */
@@ -90,11 +88,8 @@ gistvacuumcleanup(PG_FUNCTION_ARGS)
 			totFreePages++;
 			RecordFreeIndexPage(rel, blkno);
 		}
-		else
-			lastFilledBlock = blkno;
 		UnlockReleaseBuffer(buffer);
 	}
-	lastBlock = npages - 1;
 
 	/* Finally, vacuum the FSM */
 	IndexFreeSpaceMapVacuum(info->index);
diff --git i/src/backend/access/nbtree/nbtpage.c w/src/backend/access/nbtree/nbtpage.c
index 2796445..8003b5a 100644
--- i/src/backend/access/nbtree/nbtpage.c
+++ w/src/backend/access/nbtree/nbtpage.c
@@ -466,7 +466,6 @@ _bt_log_reuse_page(Relation rel, BlockNumber blkno, TransactionId latestRemovedX
 
 	/* XLOG stuff */
 	{
-		XLogRecPtr	recptr;
 		XLogRecData rdata[1];
 		xl_btree_reuse_page xlrec_reuse;
 
@@ -478,7 +477,7 @@ _bt_log_reuse_page(Relation rel, BlockNumber blkno, TransactionId latestRemovedX
 		rdata[0].buffer = InvalidBuffer;
 		rdata[0].next = NULL;
 
-		recptr = XLogInsert(RM_BTREE_ID, XLOG_BTREE_REUSE_PAGE, rdata);
+		XLogInsert(RM_BTREE_ID, XLOG_BTREE_REUSE_PAGE, rdata);
 
 		/*
 		 * We don't do PageSetLSN or PageSetTLI here because we're about
diff --git i/src/backend/catalog/pg_proc.c w/src/backend/catalog/pg_proc.c
index 6138165..55276d5 100644
--- i/src/backend/catalog/pg_proc.c
+++ w/src/backend/catalog/pg_proc.c
@@ -671,7 +671,6 @@ fmgr_internal_validator(PG_FUNCTION_ARGS)
 {
 	Oid			funcoid = PG_GETARG_OID(0);
 	HeapTuple	tuple;
-	Form_pg_proc proc;
 	bool		isnull;
 	Datum		tmp;
 	char	   *prosrc;
@@ -684,7 +683,6 @@ fmgr_internal_validator(PG_FUNCTION_ARGS)
 	tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid));
 	if (!HeapTupleIsValid(tuple))
 		elog(ERROR, "cache lookup failed for function %u", funcoid);
-	proc = (Form_pg_proc) GETSTRUCT(tuple);
 
 	tmp = SysCacheGetAttr(PROCOID, tuple, Anum_pg_proc_prosrc, &isnull);
 	if (isnull)
@@ -717,7 +715,6 @@ fmgr_c_validator(PG_FUNCTION_ARGS)
 	Oid			funcoid = PG_GETARG_OID(0);
 	void	   *libraryhandle;
 	HeapTuple	tuple;
-	Form_pg_proc proc;
 	bool		isnull;
 	Datum		tmp;
 	char	   *prosrc;
@@ -732,7 +729,6 @@ fmgr_c_validator(PG_FUNCTION_ARGS)
 	tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid));
 	if (!HeapTupleIsValid(tuple))
 		elog(ERROR, "cache lookup failed for function %u", funcoid);
-	proc = (Form_pg_proc) GETSTRUCT(tuple);
 
 	tmp = SysCacheGetAttr(PROCOID, tuple, Anum_pg_proc_prosrc, &isnull);
 	if (isnull)
diff --git i/src/backend/catalog/toasting.c w/src/backend/catalog/toasting.c
index 5d5496d..42986d3 100644
--- i/src/backend/catalog/toasting.c
+++ w/src/backend/catalog/toasting.c
@@ -118,7 +118,6 @@ create_toast_table(Relation rel, Oid toastOid, Oid toastIndexOid, Datum reloptio
 	Relation	toast_rel;
 	Relation	class_rel;
 	Oid			toast_relid;
-	Oid			toast_idxid;
 	Oid			toast_typid = InvalidOid;
 	Oid			namespaceid;
 	char		toast_relname[NAMEDATALEN];
@@ -274,7 +273,7 @@ create_toast_table(Relation rel, Oid toastOid, Oid toastIndexOid, Datum reloptio
 	coloptions[0] = 0;
 	coloptions[1] = 0;
 
-	toast_idxid = index_create(toast_rel, toast_idxname, toastIndexOid,
+	index_create(toast_rel, toast_idxname, toastIndexOid,
 							   indexInfo,
 							   list_make2("chunk_id", "chunk_seq"),
 							   BTREE_AM_OID,
diff --git i/src/backend/commands/explain.c w/src/backend/commands/explain.c
index 1d9586f..bb15b25 100644
--- i/src/backend/commands/explain.c
+++ w/src/backend/commands/explain.c
@@ -1269,7 +1269,6 @@ show_plan_tlist(PlanState *planstate, List *ancestors, ExplainState *es)
 	List	   *result = NIL;
 	bool		useprefix;
 	ListCell   *lc;
-	int			i;
 
 	/* No work if empty tlist (this occurs eg in bitmap indexscans) */
 	if (plan->targetlist == NIL)
@@ -1290,7 +1289,6 @@ show_plan_tlist(PlanState *planstate, List *ancestors, ExplainState *es)
 	useprefix = list_length(es->rtable) > 1;
 
 	/* Deparse each result column (we now include resjunk ones) */
-	i = 0;
 	foreach(lc, plan->targetlist)
 	{
 		TargetEntry *tle = (TargetEntry *) lfirst(lc);
diff --git i/src/backend/commands/tablecmds.c w/src/backend/commands/tablecmds.c
index 737ab1a..82d09c0 100644
--- i/src/backend/commands/tablecmds.c
+++ w/src/backend/commands/tablecmds.c
@@ -8129,14 +8129,12 @@ MergeAttributesIntoExisting(Relation child_rel, Relation parent_rel)
 	AttrNumber	parent_attno;
 	int			parent_natts;
 	TupleDesc	tupleDesc;
-	TupleConstr *constr;
 	HeapTuple	tuple;
 
 	attrrel = heap_open(AttributeRelationId, RowExclusiveLock);
 
 	tupleDesc = RelationGetDescr(parent_rel);
 	parent_natts = tupleDesc->natts;
-	constr = tupleDesc->constr;
 
 	for (parent_attno = 1; parent_attno <= parent_natts; parent_attno++)
 	{
diff --git i/src/backend/commands/tsearchcmds.c w/src/backend/commands/tsearchcmds.c
index 81f129d..d16f1fd 100644
--- i/src/backend/commands/tsearchcmds.c
+++ w/src/backend/commands/tsearchcmds.c
@@ -2152,14 +2152,12 @@ DropConfigurationMapping(AlterTSConfigurationStmt *stmt,
 	HeapTuple	maptup;
 	int			i;
 	Oid			prsId;
-	int		   *tokens,
-				ntoken;
+	int		   *tokens;
 	ListCell   *c;
 
 	prsId = ((Form_pg_ts_config) GETSTRUCT(tup))->cfgparser;
 
 	tokens = getTokenTypes(prsId, stmt->tokentype);
-	ntoken = list_length(stmt->tokentype);
 
 	i = 0;
 	foreach(c, stmt->tokentype)
diff --git i/src/backend/commands/vacuum.c w/src/backend/commands/vacuum.c
index 1651aa9..3ec28c8 100644
--- i/src/backend/commands/vacuum.c
+++ w/src/backend/commands/vacuum.c
@@ -92,8 +92,7 @@ vacuum(VacuumStmt *vacstmt, Oid relid, bool do_toast,
 	   BufferAccessStrategy bstrategy, bool for_wraparound, bool isTopLevel)
 {
 	const char *stmttype;
-	volatile bool all_rels,
-				in_outer_xact,
+	volatile bool in_outer_xact,
 				use_own_xacts;
 	List	   *relations;
 
@@ -153,9 +152,6 @@ vacuum(VacuumStmt *vacstmt, Oid relid, bool do_toast,
 	}
 	vac_strategy = bstrategy;
 
-	/* Remember whether we are processing everything in the DB */
-	all_rels = (!OidIsValid(relid) && vacstmt->relation == NULL);
-
 	/*
 	 * Build list of relations to process, unless caller gave us one. (If we
 	 * build one, we put it in vac_context for safekeeping.)
diff --git i/src/backend/commands/variable.c w/src/backend/commands/variable.c
index 2a61ea3..1d04e33 100644
--- i/src/backend/commands/variable.c
+++ w/src/backend/commands/variable.c
@@ -855,7 +855,6 @@ show_session_authorization(void)
 	 * assign_session_authorization
 	 */
 	const char *value = session_authorization_string;
-	Oid			savedoid;
 	char	   *endptr;
 
 	/* If session_authorization hasn't been set in this process, return "" */
@@ -865,7 +864,7 @@ show_session_authorization(void)
 	Assert(strspn(value, "x") == NAMEDATALEN &&
 		   (value[NAMEDATALEN] == 'T' || value[NAMEDATALEN] == 'F'));
 
-	savedoid = (Oid) strtoul(value + NAMEDATALEN + 1, &endptr, 10);
+	strtoul(value + NAMEDATALEN + 1, &endptr, 10);
 
 	Assert(endptr != value + NAMEDATALEN + 1 && *endptr == ',');
 
diff --git i/src/backend/executor/nodeHashjoin.c w/src/backend/executor/nodeHashjoin.c
index a6847c9..114ff00 100644
--- i/src/backend/executor/nodeHashjoin.c
+++ w/src/backend/executor/nodeHashjoin.c
@@ -59,7 +59,6 @@ static bool ExecHashJoinNewBatch(HashJoinState *hjstate);
 TupleTableSlot *				/* return: a tuple or NULL */
 ExecHashJoin(HashJoinState *node)
 {
-	EState	   *estate;
 	PlanState  *outerNode;
 	HashState  *hashNode;
 	List	   *joinqual;
@@ -74,7 +73,6 @@ ExecHashJoin(HashJoinState *node)
 	/*
 	 * get information from HashJoin node
 	 */
-	estate = node->js.ps.state;
 	joinqual = node->js.joinqual;
 	otherqual = node->js.ps.qual;
 	hashNode = (HashState *) innerPlanState(node);
diff --git i/src/backend/executor/nodeMergejoin.c w/src/backend/executor/nodeMergejoin.c
index 75c3a64..bc1aa30 100644
--- i/src/backend/executor/nodeMergejoin.c
+++ w/src/backend/executor/nodeMergejoin.c
@@ -639,7 +639,6 @@ ExecMergeTupleDump(MergeJoinState *mergestate)
 TupleTableSlot *
 ExecMergeJoin(MergeJoinState *node)
 {
-	EState	   *estate;
 	List	   *joinqual;
 	List	   *otherqual;
 	bool		qualResult;
@@ -655,7 +654,6 @@ ExecMergeJoin(MergeJoinState *node)
 	/*
 	 * get information from node
 	 */
-	estate = node->js.ps.state;
 	innerPlan = innerPlanState(node);
 	outerPlan = outerPlanState(node);
 	econtext = node->js.ps.ps_ExprContext;
diff --git i/src/backend/executor/nodeRecursiveunion.c w/src/backend/executor/nodeRecursiveunion.c
index 84c0518..be0d8ba 100644
--- i/src/backend/executor/nodeRecursiveunion.c
+++ w/src/backend/executor/nodeRecursiveunion.c
@@ -79,7 +79,6 @@ ExecRecursiveUnion(RecursiveUnionState *node)
 	PlanState  *innerPlan = innerPlanState(node);
 	RecursiveUnion *plan = (RecursiveUnion *) node->ps.plan;
 	TupleTableSlot *slot;
-	RUHashEntry entry;
 	bool		isnew;
 
 	/* 1. Evaluate non-recursive term */
@@ -93,8 +92,7 @@ ExecRecursiveUnion(RecursiveUnionState *node)
 			if (plan->numCols > 0)
 			{
 				/* Find or build hashtable entry for this tuple's group */
-				entry = (RUHashEntry)
-					LookupTupleHashEntry(node->hashtable, slot, &isnew);
+				LookupTupleHashEntry(node->hashtable, slot, &isnew);
 				/* Must reset temp context after each hashtable lookup */
 				MemoryContextReset(node->tempContext);
 				/* Ignore tuple if already seen */
@@ -141,8 +139,7 @@ ExecRecursiveUnion(RecursiveUnionState *node)
 		if (plan->numCols > 0)
 		{
 			/* Find or build hashtable entry for this tuple's group */
-			entry = (RUHashEntry)
-				LookupTupleHashEntry(node->hashtable, slot, &isnew);
+			LookupTupleHashEntry(node->hashtable, slot, &isnew);
 			/* Must reset temp context after each hashtable lookup */
 			MemoryContextReset(node->tempContext);
 			/* Ignore tuple if already seen */
diff --git i/src/backend/foreign/foreign.c w/src/backend/foreign/foreign.c
index 44cd181..dfede78 100644
--- i/src/backend/foreign/foreign.c
+++ w/src/backend/foreign/foreign.c
@@ -214,7 +214,6 @@ GetForeignServerByName(const char *srvname, bool missing_ok)
 UserMapping *
 GetUserMapping(Oid userid, Oid serverid)
 {
-	Form_pg_user_mapping umform;
 	Datum		datum;
 	HeapTuple	tp;
 	bool		isnull;
@@ -238,8 +237,6 @@ GetUserMapping(Oid userid, Oid serverid)
 				 errmsg("user mapping not found for \"%s\"",
 						MappingUserName(userid))));
 
-	umform = (Form_pg_user_mapping) GETSTRUCT(tp);
-
 	um = (UserMapping *) palloc(sizeof(UserMapping));
 	um->userid = userid;
 	um->serverid = serverid;
diff --git i/src/backend/libpq/auth.c w/src/backend/libpq/auth.c
index 151ec56..70cc5a5 100644
--- i/src/backend/libpq/auth.c
+++ w/src/backend/libpq/auth.c
@@ -956,15 +956,14 @@ static void
 pg_GSS_error(int severity, char *errmsg, OM_uint32 maj_stat, OM_uint32 min_stat)
 {
 	gss_buffer_desc gmsg;
-	OM_uint32	lmaj_s,
-				lmin_s,
+	OM_uint32	lmin_s,
 				msg_ctx;
 	char		msg_major[128],
 				msg_minor[128];
 
 	/* Fetch major status message */
 	msg_ctx = 0;
-	lmaj_s = gss_display_status(&lmin_s, maj_stat, GSS_C_GSS_CODE,
+	gss_display_status(&lmin_s, maj_stat, GSS_C_GSS_CODE,
 								GSS_C_NO_OID, &msg_ctx, &gmsg);
 	strlcpy(msg_major, gmsg.value, sizeof(msg_major));
 	gss_release_buffer(&lmin_s, &gmsg);
@@ -980,7 +979,7 @@ pg_GSS_error(int severity, char *errmsg, OM_uint32 maj_stat, OM_uint32 min_stat)
 
 	/* Fetch mechanism minor status message */
 	msg_ctx = 0;
-	lmaj_s = gss_display_status(&lmin_s, min_stat, GSS_C_MECH_CODE,
+	gss_display_status(&lmin_s, min_stat, GSS_C_MECH_CODE,
 								GSS_C_NO_OID, &msg_ctx, &gmsg);
 	strlcpy(msg_minor, gmsg.value, sizeof(msg_minor));
 	gss_release_buffer(&lmin_s, &gmsg);
diff --git i/src/backend/optimizer/geqo/geqo_main.c w/src/backend/optimizer/geqo/geqo_main.c
index b3b02d6..e2a8bbc 100644
--- i/src/backend/optimizer/geqo/geqo_main.c
+++ w/src/backend/optimizer/geqo/geqo_main.c
@@ -73,15 +73,16 @@ geqo(PlannerInfo *root, int number_of_rels, List *initial_rels)
 	Chromosome *kid;
 	Pool	   *pool;
 	int			pool_size,
-				number_generations,
-				status_interval;
+				number_generations;
+#ifdef GEQO_DEBUG
+	int			status_interval;
+#endif
 	Gene	   *best_tour;
 	RelOptInfo *best_rel;
 
 #if defined(ERX)
 	Edge	   *edge_table;		/* list of edges */
 	int			edge_failures = 0;
-	float		difference;
 #endif
 #if defined(CX) || defined(PX) || defined(OX1) || defined(OX2)
 	City	   *city_table;		/* list of cities */
@@ -101,7 +102,9 @@ geqo(PlannerInfo *root, int number_of_rels, List *initial_rels)
 /* set GA parameters */
 	pool_size = gimme_pool_size(number_of_rels);
 	number_generations = gimme_number_generations(pool_size);
+#ifdef GEQO_DEBUG
 	status_interval = 10;
+#endif
 
 /* allocate genetic pool memory */
 	pool = alloc_pool(root, pool_size, number_of_rels);
@@ -178,7 +181,7 @@ geqo(PlannerInfo *root, int number_of_rels, List *initial_rels)
 
 #if defined (ERX)
 		/* EDGE RECOMBINATION CROSSOVER */
-		difference = gimme_edge_table(root, momma->string, daddy->string, pool->string_length, edge_table);
+		gimme_edge_table(root, momma->string, daddy->string, pool->string_length, edge_table);
 
 		kid = momma;
 
diff --git i/src/backend/parser/parse_utilcmd.c w/src/backend/parser/parse_utilcmd.c
index fe8d0c4..1eda78f 100644
--- i/src/backend/parser/parse_utilcmd.c
+++ w/src/backend/parser/parse_utilcmd.c
@@ -2516,9 +2516,8 @@ transformColumnType(CreateStmtContext *cxt, ColumnDef *column)
 	if (column->collClause)
 	{
 		Form_pg_type typtup = (Form_pg_type) GETSTRUCT(ctype);
-		Oid		collOid;
 
-		collOid = LookupCollation(cxt->pstate,
+		LookupCollation(cxt->pstate,
 								  column->collClause->collname,
 								  column->collClause->location);
 		/* Complain if COLLATE is applied to an uncollatable type */
diff --git i/src/backend/rewrite/rewriteDefine.c w/src/backend/rewrite/rewriteDefine.c
index a405dbf..5bdbbd8 100644
--- i/src/backend/rewrite/rewriteDefine.c
+++ w/src/backend/rewrite/rewriteDefine.c
@@ -232,7 +232,6 @@ DefineQueryRewrite(char *rulename,
 				   List *action)
 {
 	Relation	event_relation;
-	Oid			ruleId;
 	int			event_attno;
 	ListCell   *l;
 	Query	   *query;
@@ -488,7 +487,7 @@ DefineQueryRewrite(char *rulename,
 	/* discard rule if it's null action and not INSTEAD; it's a no-op */
 	if (action != NIL || is_instead)
 	{
-		ruleId = InsertRule(rulename,
+		InsertRule(rulename,
 							event_type,
 							event_relid,
 							event_attno,
diff --git i/src/backend/storage/ipc/standby.c w/src/backend/storage/ipc/standby.c
index 2e71484..277ae16 100644
--- i/src/backend/storage/ipc/standby.c
+++ w/src/backend/storage/ipc/standby.c
@@ -334,7 +334,6 @@ static void
 ResolveRecoveryConflictWithLock(Oid dbOid, Oid relOid)
 {
 	VirtualTransactionId *backends;
-	bool		report_memory_error = false;
 	bool		lock_acquired = false;
 	int			num_attempts = 0;
 	LOCKTAG		locktag;
@@ -354,11 +353,8 @@ ResolveRecoveryConflictWithLock(Oid dbOid, Oid relOid)
 		if (++num_attempts < 3)
 			backends = GetLockConflicts(&locktag, AccessExclusiveLock);
 		else
-		{
 			backends = GetConflictingVirtualXIDs(InvalidTransactionId,
 												 InvalidOid);
-			report_memory_error = true;
-		}
 
 		ResolveRecoveryConflictWithVirtualXIDs(backends,
 											 PROCSIG_RECOVERY_CONFLICT_LOCK);
diff --git i/src/backend/storage/smgr/md.c w/src/backend/storage/smgr/md.c
index 9d585b6..9afce7c 100644
--- i/src/backend/storage/smgr/md.c
+++ w/src/backend/storage/smgr/md.c
@@ -901,13 +901,12 @@ void
 mdimmedsync(SMgrRelation reln, ForkNumber forknum)
 {
 	MdfdVec    *v;
-	BlockNumber curnblk;
 
 	/*
 	 * NOTE: mdnblocks makes sure we have opened all active segments, so that
 	 * fsync loop will get them all!
 	 */
-	curnblk = mdnblocks(reln, forknum);
+	mdnblocks(reln, forknum);
 
 	v = mdopen(reln, forknum, EXTENSION_FAIL);
 
diff --git i/src/backend/utils/adt/ri_triggers.c w/src/backend/utils/adt/ri_triggers.c
index 591d2eb..ada1c95 100644
--- i/src/backend/utils/adt/ri_triggers.c
+++ w/src/backend/utils/adt/ri_triggers.c
@@ -255,7 +255,6 @@ RI_FKey_check(PG_FUNCTION_ARGS)
 	Relation	fk_rel;
 	Relation	pk_rel;
 	HeapTuple	new_row;
-	HeapTuple	old_row;
 	Buffer		new_row_buf;
 	RI_QueryKey qkey;
 	SPIPlanPtr	qplan;
@@ -274,13 +273,11 @@ RI_FKey_check(PG_FUNCTION_ARGS)
 
 	if (TRIGGER_FIRED_BY_UPDATE(trigdata->tg_event))
 	{
-		old_row = trigdata->tg_trigtuple;
 		new_row = trigdata->tg_newtuple;
 		new_row_buf = trigdata->tg_newtuplebuf;
 	}
 	else
 	{
-		old_row = NULL;
 		new_row = trigdata->tg_trigtuple;
 		new_row_buf = trigdata->tg_trigtuplebuf;
 	}
diff --git i/src/backend/utils/adt/selfuncs.c w/src/backend/utils/adt/selfuncs.c
index f7358d1..9187f65 100644
--- i/src/backend/utils/adt/selfuncs.c
+++ w/src/backend/utils/adt/selfuncs.c
@@ -1081,7 +1081,6 @@ patternsel(PG_FUNCTION_ARGS, Pattern_Type ptype, bool negate)
 	List	   *args = (List *) PG_GETARG_POINTER(2);
 	int			varRelid = PG_GETARG_INT32(3);
 	VariableStatData vardata;
-	Node	   *variable;
 	Node	   *other;
 	bool		varonleft;
 	Datum		constval;
@@ -1123,7 +1122,6 @@ patternsel(PG_FUNCTION_ARGS, Pattern_Type ptype, bool negate)
 		ReleaseVariableStats(vardata);
 		return result;
 	}
-	variable = (Node *) linitial(args);
 
 	/*
 	 * If the constant is NULL, assume operator is strict and return zero, ie,
@@ -2286,7 +2284,6 @@ eqjoinsel_semi(Oid operator,
 	double		nd1;
 	double		nd2;
 	Form_pg_statistic stats1 = NULL;
-	Form_pg_statistic stats2 = NULL;
 	bool		have_mcvs1 = false;
 	Datum	   *values1 = NULL;
 	int			nvalues1 = 0;
@@ -2316,7 +2313,6 @@ eqjoinsel_semi(Oid operator,
 
 	if (HeapTupleIsValid(vardata2->statsTuple))
 	{
-		stats2 = (Form_pg_statistic) GETSTRUCT(vardata2->statsTuple);
 		have_mcvs2 = get_attstatsslot(vardata2->statsTuple,
 									  vardata2->atttype,
 									  vardata2->atttypmod,
@@ -4410,7 +4406,6 @@ get_variable_range(PlannerInfo *root, VariableStatData *vardata, Oid sortop,
 	Datum		tmin = 0;
 	Datum		tmax = 0;
 	bool		have_data = false;
-	Form_pg_statistic stats;
 	int16		typLen;
 	bool		typByVal;
 	Datum	   *values;
@@ -4434,7 +4429,6 @@ get_variable_range(PlannerInfo *root, VariableStatData *vardata, Oid sortop,
 		/* no stats available, so default result */
 		return false;
 	}
-	stats = (Form_pg_statistic) GETSTRUCT(vardata->statsTuple);
 
 	get_typlenbyval(vardata->atttype, &typLen, &typByVal);
 
diff --git i/src/bin/pg_basebackup/pg_basebackup.c w/src/bin/pg_basebackup/pg_basebackup.c
index 9f926bd..b44f821 100644
--- i/src/bin/pg_basebackup/pg_basebackup.c
+++ w/src/bin/pg_basebackup/pg_basebackup.c
@@ -755,7 +755,7 @@ static void
 BaseBackup(void)
 {
 	PGresult   *res;
-	uint32		timeline;
+	uint32		timeline; // XXX: not used?!?
 	char		current_path[MAXPGPATH];
 	char		escaped_label[MAXPGPATH];
 	int			i;
diff --git i/src/bin/pg_dump/common.c w/src/bin/pg_dump/common.c
index 472760e..c419c2d 100644
--- i/src/bin/pg_dump/common.c
+++ w/src/bin/pg_dump/common.c
@@ -80,24 +80,9 @@ static int	strInArray(const char *pattern, char **arr, int arr_size);
 TableInfo *
 getSchemaData(int *numTablesPtr)
 {
-	NamespaceInfo *nsinfo;
 	ExtensionInfo *extinfo;
-	AggInfo    *agginfo;
 	InhInfo    *inhinfo;
-	RuleInfo   *ruleinfo;
-	ProcLangInfo *proclanginfo;
-	CastInfo   *castinfo;
-	OpclassInfo *opcinfo;
-	OpfamilyInfo *opfinfo;
 	CollInfo   *collinfo;
-	ConvInfo   *convinfo;
-	TSParserInfo *prsinfo;
-	TSTemplateInfo *tmplinfo;
-	TSDictInfo *dictinfo;
-	TSConfigInfo *cfginfo;
-	FdwInfo    *fdwinfo;
-	ForeignServerInfo *srvinfo;
-	DefaultACLInfo *daclinfo;
 	int			numNamespaces;
 	int			numExtensions;
 	int			numAggregates;
@@ -118,7 +103,7 @@ getSchemaData(int *numTablesPtr)
 
 	if (g_verbose)
 		write_msg(NULL, "reading schemas\n");
-	nsinfo = getNamespaces(&numNamespaces);
+	getNamespaces(&numNamespaces);
 
 	if (g_verbose)
 		write_msg(NULL, "reading extensions\n");
@@ -138,11 +123,11 @@ getSchemaData(int *numTablesPtr)
 	/* this must be after getFuncs, too */
 	if (g_verbose)
 		write_msg(NULL, "reading procedural languages\n");
-	proclanginfo = getProcLangs(&numProcLangs);
+	getProcLangs(&numProcLangs);
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined aggregate functions\n");
-	agginfo = getAggregates(&numAggregates);
+	getAggregates(&numAggregates);
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined operators\n");
@@ -151,39 +136,39 @@ getSchemaData(int *numTablesPtr)
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined operator classes\n");
-	opcinfo = getOpclasses(&numOpclasses);
+	getOpclasses(&numOpclasses);
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined operator families\n");
-	opfinfo = getOpfamilies(&numOpfamilies);
+	getOpfamilies(&numOpfamilies);
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined text search parsers\n");
-	prsinfo = getTSParsers(&numTSParsers);
+	getTSParsers(&numTSParsers);
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined text search templates\n");
-	tmplinfo = getTSTemplates(&numTSTemplates);
+	getTSTemplates(&numTSTemplates);
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined text search dictionaries\n");
-	dictinfo = getTSDictionaries(&numTSDicts);
+	getTSDictionaries(&numTSDicts);
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined text search configurations\n");
-	cfginfo = getTSConfigurations(&numTSConfigs);
+	getTSConfigurations(&numTSConfigs);
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined foreign-data wrappers\n");
-	fdwinfo = getForeignDataWrappers(&numForeignDataWrappers);
+	getForeignDataWrappers(&numForeignDataWrappers);
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined foreign servers\n");
-	srvinfo = getForeignServers(&numForeignServers);
+	getForeignServers(&numForeignServers);
 
 	if (g_verbose)
 		write_msg(NULL, "reading default privileges\n");
-	daclinfo = getDefaultACLs(&numDefaultACLs);
+	getDefaultACLs(&numDefaultACLs);
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined collations\n");
@@ -192,11 +177,11 @@ getSchemaData(int *numTablesPtr)
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined conversions\n");
-	convinfo = getConversions(&numConversions);
+	getConversions(&numConversions);
 
 	if (g_verbose)
 		write_msg(NULL, "reading type casts\n");
-	castinfo = getCasts(&numCasts);
+	getCasts(&numCasts);
 
 	if (g_verbose)
 		write_msg(NULL, "reading user-defined tables\n");
@@ -209,7 +194,7 @@ getSchemaData(int *numTablesPtr)
 
 	if (g_verbose)
 		write_msg(NULL, "reading rewrite rules\n");
-	ruleinfo = getRules(&numRules);
+	getRules(&numRules);
 
 	/*
 	 * Identify extension member objects and mark them as not to be dumped.
diff --git i/src/bin/pg_dump/pg_backup_custom.c w/src/bin/pg_dump/pg_backup_custom.c
index 87c6fb6..9b2054c 100644
--- i/src/bin/pg_dump/pg_backup_custom.c
+++ w/src/bin/pg_dump/pg_backup_custom.c
@@ -237,7 +237,6 @@ _WriteExtraToc(ArchiveHandle *AH, TocEntry *te)
 static void
 _ReadExtraToc(ArchiveHandle *AH, TocEntry *te)
 {
-	int			junk;
 	lclTocEntry *ctx = (lclTocEntry *) te->formatData;
 
 	if (ctx == NULL)
@@ -253,7 +252,7 @@ _ReadExtraToc(ArchiveHandle *AH, TocEntry *te)
 	 * dump it at all.
 	 */
 	if (AH->version < K_VERS_1_7)
-		junk = ReadInt(AH);
+		ReadInt(AH);
 }
 
 /*
diff --git i/src/bin/pg_dump/pg_dump.c w/src/bin/pg_dump/pg_dump.c
index 5561295..a9c8da4 100644
--- i/src/bin/pg_dump/pg_dump.c
+++ w/src/bin/pg_dump/pg_dump.c
@@ -7312,8 +7312,6 @@ dumpBaseType(Archive *fout, TypeInfo *tyinfo)
 	char	   *typmodin;
 	char	   *typmodout;
 	char	   *typanalyze;
-	Oid			typinputoid;
-	Oid			typoutputoid;
 	Oid			typreceiveoid;
 	Oid			typsendoid;
 	Oid			typmodinoid;
@@ -7338,8 +7336,6 @@ dumpBaseType(Archive *fout, TypeInfo *tyinfo)
 		appendPQExpBuffer(query, "SELECT typlen, "
 						  "typinput, typoutput, typreceive, typsend, "
 						  "typmodin, typmodout, typanalyze, "
-						  "typinput::pg_catalog.oid AS typinputoid, "
-						  "typoutput::pg_catalog.oid AS typoutputoid, "
 						  "typreceive::pg_catalog.oid AS typreceiveoid, "
 						  "typsend::pg_catalog.oid AS typsendoid, "
 						  "typmodin::pg_catalog.oid AS typmodinoid, "
@@ -7358,8 +7354,6 @@ dumpBaseType(Archive *fout, TypeInfo *tyinfo)
 		appendPQExpBuffer(query, "SELECT typlen, "
 						  "typinput, typoutput, typreceive, typsend, "
 						  "typmodin, typmodout, typanalyze, "
-						  "typinput::pg_catalog.oid AS typinputoid, "
-						  "typoutput::pg_catalog.oid AS typoutputoid, "
 						  "typreceive::pg_catalog.oid AS typreceiveoid, "
 						  "typsend::pg_catalog.oid AS typsendoid, "
 						  "typmodin::pg_catalog.oid AS typmodinoid, "
@@ -7379,8 +7373,6 @@ dumpBaseType(Archive *fout, TypeInfo *tyinfo)
 		appendPQExpBuffer(query, "SELECT typlen, "
 						  "typinput, typoutput, typreceive, typsend, "
 						  "typmodin, typmodout, typanalyze, "
-						  "typinput::pg_catalog.oid AS typinputoid, "
-						  "typoutput::pg_catalog.oid AS typoutputoid, "
 						  "typreceive::pg_catalog.oid AS typreceiveoid, "
 						  "typsend::pg_catalog.oid AS typsendoid, "
 						  "typmodin::pg_catalog.oid AS typmodinoid, "
@@ -7400,8 +7392,6 @@ dumpBaseType(Archive *fout, TypeInfo *tyinfo)
 						  "typinput, typoutput, typreceive, typsend, "
 						  "'-' AS typmodin, '-' AS typmodout, "
 						  "typanalyze, "
-						  "typinput::pg_catalog.oid AS typinputoid, "
-						  "typoutput::pg_catalog.oid AS typoutputoid, "
 						  "typreceive::pg_catalog.oid AS typreceiveoid, "
 						  "typsend::pg_catalog.oid AS typsendoid, "
 						  "0 AS typmodinoid, 0 AS typmodoutoid, "
@@ -7420,8 +7410,6 @@ dumpBaseType(Archive *fout, TypeInfo *tyinfo)
 						  "typinput, typoutput, typreceive, typsend, "
 						  "'-' AS typmodin, '-' AS typmodout, "
 						  "'-' AS typanalyze, "
-						  "typinput::pg_catalog.oid AS typinputoid, "
-						  "typoutput::pg_catalog.oid AS typoutputoid, "
 						  "typreceive::pg_catalog.oid AS typreceiveoid, "
 						  "typsend::pg_catalog.oid AS typsendoid, "
 						  "0 AS typmodinoid, 0 AS typmodoutoid, "
@@ -7441,8 +7429,6 @@ dumpBaseType(Archive *fout, TypeInfo *tyinfo)
 						  "'-' AS typreceive, '-' AS typsend, "
 						  "'-' AS typmodin, '-' AS typmodout, "
 						  "'-' AS typanalyze, "
-						  "typinput::pg_catalog.oid AS typinputoid, "
-						  "typoutput::pg_catalog.oid AS typoutputoid, "
 						  "0 AS typreceiveoid, 0 AS typsendoid, "
 						  "0 AS typmodinoid, 0 AS typmodoutoid, "
 						  "0 AS typanalyzeoid, "
@@ -7465,8 +7451,6 @@ dumpBaseType(Archive *fout, TypeInfo *tyinfo)
 						  "'-' AS typreceive, '-' AS typsend, "
 						  "'-' AS typmodin, '-' AS typmodout, "
 						  "'-' AS typanalyze, "
-						  "typinput::oid AS typinputoid, "
-						  "typoutput::oid AS typoutputoid, "
 						  "0 AS typreceiveoid, 0 AS typsendoid, "
 						  "0 AS typmodinoid, 0 AS typmodoutoid, "
 						  "0 AS typanalyzeoid, "
@@ -7489,8 +7473,6 @@ dumpBaseType(Archive *fout, TypeInfo *tyinfo)
 						  "'-' AS typreceive, '-' AS typsend, "
 						  "'-' AS typmodin, '-' AS typmodout, "
 						  "'-' AS typanalyze, "
-						  "typinput::oid AS typinputoid, "
-						  "typoutput::oid AS typoutputoid, "
 						  "0 AS typreceiveoid, 0 AS typsendoid, "
 						  "0 AS typmodinoid, 0 AS typmodoutoid, "
 						  "0 AS typanalyzeoid, "
@@ -7509,8 +7491,6 @@ dumpBaseType(Archive *fout, TypeInfo *tyinfo)
 						  "'-' AS typreceive, '-' AS typsend, "
 						  "'-' AS typmodin, '-' AS typmodout, "
 						  "'-' AS typanalyze, "
-						  "typinput::oid AS typinputoid, "
-						  "typoutput::oid AS typoutputoid, "
 						  "0 AS typreceiveoid, 0 AS typsendoid, "
 						  "0 AS typmodinoid, 0 AS typmodoutoid, "
 						  "0 AS typanalyzeoid, "
@@ -7546,8 +7526,6 @@ dumpBaseType(Archive *fout, TypeInfo *tyinfo)
 	typmodin = PQgetvalue(res, 0, PQfnumber(res, "typmodin"));
 	typmodout = PQgetvalue(res, 0, PQfnumber(res, "typmodout"));
 	typanalyze = PQgetvalue(res, 0, PQfnumber(res, "typanalyze"));
-	typinputoid = atooid(PQgetvalue(res, 0, PQfnumber(res, "typinputoid")));
-	typoutputoid = atooid(PQgetvalue(res, 0, PQfnumber(res, "typoutputoid")));
 	typreceiveoid = atooid(PQgetvalue(res, 0, PQfnumber(res, "typreceiveoid")));
 	typsendoid = atooid(PQgetvalue(res, 0, PQfnumber(res, "typsendoid")));
 	typmodinoid = atooid(PQgetvalue(res, 0, PQfnumber(res, "typmodinoid")));
@@ -10141,10 +10119,8 @@ dumpCollation(Archive *fout, CollInfo *collinfo)
 	PQExpBuffer labelq;
 	PGresult   *res;
 	int			ntups;
-	int			i_collname;
 	int			i_collcollate;
 	int			i_collctype;
-	const char *collname;
 	const char *collcollate;
 	const char *collctype;
 
@@ -10161,7 +10137,7 @@ dumpCollation(Archive *fout, CollInfo *collinfo)
 	selectSourceSchema(collinfo->dobj.namespace->dobj.name);
 
 	/* Get conversion-specific details */
-	appendPQExpBuffer(query, "SELECT collname, "
+	appendPQExpBuffer(query, "SELECT "
 					  "collcollate, "
 					  "collctype "
 					  "FROM pg_catalog.pg_collation c "
@@ -10182,11 +10158,9 @@ dumpCollation(Archive *fout, CollInfo *collinfo)
 		exit_nicely();
 	}
 
-	i_collname = PQfnumber(res, "collname");
 	i_collcollate = PQfnumber(res, "collcollate");
 	i_collctype = PQfnumber(res, "collctype");
 
-	collname = PQgetvalue(res, 0, i_collname);
 	collcollate = PQgetvalue(res, 0, i_collcollate);
 	collctype = PQgetvalue(res, 0, i_collctype);
 
@@ -10246,12 +10220,10 @@ dumpConversion(Archive *fout, ConvInfo *convinfo)
 	PQExpBuffer labelq;
 	PGresult   *res;
 	int			ntups;
-	int			i_conname;
 	int			i_conforencoding;
 	int			i_contoencoding;
 	int			i_conproc;
 	int			i_condefault;
-	const char *conname;
 	const char *conforencoding;
 	const char *contoencoding;
 	const char *conproc;
@@ -10270,7 +10242,7 @@ dumpConversion(Archive *fout, ConvInfo *convinfo)
 	selectSourceSchema(convinfo->dobj.namespace->dobj.name);
 
 	/* Get conversion-specific details */
-	appendPQExpBuffer(query, "SELECT conname, "
+	appendPQExpBuffer(query, "SELECT "
 		 "pg_catalog.pg_encoding_to_char(conforencoding) AS conforencoding, "
 		   "pg_catalog.pg_encoding_to_char(contoencoding) AS contoencoding, "
 					  "conproc, condefault "
@@ -10292,13 +10264,11 @@ dumpConversion(Archive *fout, ConvInfo *convinfo)
 		exit_nicely();
 	}
 
-	i_conname = PQfnumber(res, "conname");
 	i_conforencoding = PQfnumber(res, "conforencoding");
 	i_contoencoding = PQfnumber(res, "contoencoding");
 	i_conproc = PQfnumber(res, "conproc");
 	i_condefault = PQfnumber(res, "condefault");
 
-	conname = PQgetvalue(res, 0, i_conname);
 	conforencoding = PQgetvalue(res, 0, i_conforencoding);
 	contoencoding = PQgetvalue(res, 0, i_contoencoding);
 	conproc = PQgetvalue(res, 0, i_conproc);
@@ -11771,7 +11741,6 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo)
 	char	   *storage;
 	int			j,
 				k;
-	bool		toast_set = false;
 	char	   *srvname;
 	char	   *ftoptions = NULL;
 
@@ -11779,7 +11748,7 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo)
 	selectSourceSchema(tbinfo->dobj.namespace->dobj.name);
 
 	if (binary_upgrade)
-		toast_set = binary_upgrade_set_type_oids_by_rel_oid(q,
+		binary_upgrade_set_type_oids_by_rel_oid(q,
 													 tbinfo->dobj.catId.oid);
 
 	/* Is it a table or a view? */
diff --git i/src/bin/pg_dump/pg_dumpall.c w/src/bin/pg_dump/pg_dumpall.c
index 9082653..00afd74 100644
--- i/src/bin/pg_dump/pg_dumpall.c
+++ w/src/bin/pg_dump/pg_dumpall.c
@@ -91,7 +91,6 @@ main(int argc, char *argv[])
 	bool		output_clean = false;
 	bool		roles_only = false;
 	bool		tablespaces_only = false;
-	bool		schema_only = false;
 	PGconn	   *conn;
 	int			encoding;
 	const char *std_strings;
@@ -241,7 +240,6 @@ main(int argc, char *argv[])
 				break;
 
 			case 's':
-				schema_only = true;
 				appendPQExpBuffer(pgdumpopts, " -s");
 				break;
 
@@ -632,7 +630,6 @@ dumpRoles(PGconn *conn)
 				i_rolinherit,
 				i_rolcreaterole,
 				i_rolcreatedb,
-				i_rolcatupdate,
 				i_rolcanlogin,
 				i_rolconnlimit,
 				i_rolpassword,
@@ -645,7 +642,7 @@ dumpRoles(PGconn *conn)
 	if (server_version >= 90100)
 		printfPQExpBuffer(buf,
 						  "SELECT oid, rolname, rolsuper, rolinherit, "
-						  "rolcreaterole, rolcreatedb, rolcatupdate, "
+						  "rolcreaterole, rolcreatedb, "
 						  "rolcanlogin, rolconnlimit, rolpassword, "
 						  "rolvaliduntil, rolreplication, "
 			  "pg_catalog.shobj_description(oid, 'pg_authid') as rolcomment "
@@ -654,7 +651,7 @@ dumpRoles(PGconn *conn)
 	else if (server_version >= 80200)
 		printfPQExpBuffer(buf,
 						  "SELECT oid, rolname, rolsuper, rolinherit, "
-						  "rolcreaterole, rolcreatedb, rolcatupdate, "
+						  "rolcreaterole, rolcreatedb, "
 						  "rolcanlogin, rolconnlimit, rolpassword, "
 						  "rolvaliduntil, false as rolreplication, "
 			  "pg_catalog.shobj_description(oid, 'pg_authid') as rolcomment "
@@ -663,7 +660,7 @@ dumpRoles(PGconn *conn)
 	else if (server_version >= 80100)
 		printfPQExpBuffer(buf,
 						  "SELECT oid, rolname, rolsuper, rolinherit, "
-						  "rolcreaterole, rolcreatedb, rolcatupdate, "
+						  "rolcreaterole, rolcreatedb, "
 						  "rolcanlogin, rolconnlimit, rolpassword, "
 						  "rolvaliduntil, false as rolreplication, "
 						  "null as rolcomment "
@@ -676,7 +673,6 @@ dumpRoles(PGconn *conn)
 						  "true as rolinherit, "
 						  "usesuper as rolcreaterole, "
 						  "usecreatedb as rolcreatedb, "
-						  "usecatupd as rolcatupdate, "
 						  "true as rolcanlogin, "
 						  "-1 as rolconnlimit, "
 						  "passwd as rolpassword, "
@@ -690,7 +686,6 @@ dumpRoles(PGconn *conn)
 						  "true as rolinherit, "
 						  "false as rolcreaterole, "
 						  "false as rolcreatedb, "
-						  "false as rolcatupdate, "
 						  "false as rolcanlogin, "
 						  "-1 as rolconnlimit, "
 						  "null::text as rolpassword, "
@@ -710,7 +705,6 @@ dumpRoles(PGconn *conn)
 	i_rolinherit = PQfnumber(res, "rolinherit");
 	i_rolcreaterole = PQfnumber(res, "rolcreaterole");
 	i_rolcreatedb = PQfnumber(res, "rolcreatedb");
-	i_rolcatupdate = PQfnumber(res, "rolcatupdate");
 	i_rolcanlogin = PQfnumber(res, "rolcanlogin");
 	i_rolconnlimit = PQfnumber(res, "rolconnlimit");
 	i_rolpassword = PQfnumber(res, "rolpassword");
diff --git i/src/bin/psql/psqlscan.l w/src/bin/psql/psqlscan.l
index 3575f91..dfc6648 100644
--- i/src/bin/psql/psqlscan.l
+++ w/src/bin/psql/psqlscan.l
@@ -1384,7 +1384,6 @@ char *
 psql_scan_slash_command(PsqlScanState state)
 {
 	PQExpBufferData mybuf;
-	int			lexresult;
 
 	/* Must be scanning already */
 	psql_assert(state->scanbufhandle);
@@ -1404,7 +1403,7 @@ psql_scan_slash_command(PsqlScanState state)
 	BEGIN(xslashcmd);
 
 	/* And lex. */
-	lexresult = yylex();
+	yylex();
 
 	/* There are no possible errors in this lex state... */
 
@@ -1641,8 +1640,6 @@ psql_scan_slash_option(PsqlScanState state,
 void
 psql_scan_slash_command_end(PsqlScanState state)
 {
-	int			lexresult;
-
 	/* Must be scanning already */
 	psql_assert(state->scanbufhandle);
 
@@ -1658,7 +1655,7 @@ psql_scan_slash_command_end(PsqlScanState state)
 	BEGIN(xslashend);
 
 	/* And lex. */
-	lexresult = yylex();
+	yylex();
 
 	/* There are no possible errors in this lex state... */
 }
diff --git i/src/interfaces/ecpg/ecpglib/descriptor.c w/src/interfaces/ecpg/ecpglib/descriptor.c
index c9d960a..a63ed35 100644
--- i/src/interfaces/ecpg/ecpglib/descriptor.c
+++ w/src/interfaces/ecpg/ecpglib/descriptor.c
@@ -764,11 +764,8 @@ ECPGdescribe(int line, int compat, bool input, const char *connection_name, cons
 
 	for (;;)
 	{
-		enum ECPGttype type,
-					dummy_type;
-		void	   *ptr,
-				   *dummy_ptr;
-		long		dummy;
+		enum ECPGttype type;
+		void	   *ptr;
 
 		/* variable type */
 		type = va_arg(args, enum ECPGttype);
@@ -778,16 +775,16 @@ ECPGdescribe(int line, int compat, bool input, const char *connection_name, cons
 
 		/* rest of variable parameters */
 		ptr = va_arg(args, void *);
-		dummy = va_arg(args, long);
-		dummy = va_arg(args, long);
-		dummy = va_arg(args, long);
+		va_arg(args, long);
+		va_arg(args, long);
+		va_arg(args, long);
 
 		/* variable indicator */
-		dummy_type = va_arg(args, enum ECPGttype);
-		dummy_ptr = va_arg(args, void *);
-		dummy = va_arg(args, long);
-		dummy = va_arg(args, long);
-		dummy = va_arg(args, long);
+		va_arg(args, enum ECPGttype);
+		va_arg(args, void *);
+		va_arg(args, long);
+		va_arg(args, long);
+		va_arg(args, long);
 
 		switch (type)
 		{
diff --git i/src/interfaces/libpq/fe-auth.c w/src/interfaces/libpq/fe-auth.c
index 7d2ef51..c2ca0dc 100644
--- i/src/interfaces/libpq/fe-auth.c
+++ w/src/interfaces/libpq/fe-auth.c
@@ -320,14 +320,13 @@ static void
 pg_GSS_error_int(PQExpBuffer str, const char *mprefix,
 				 OM_uint32 stat, int type)
 {
-	OM_uint32	lmaj_s,
-				lmin_s;
+	OM_uint32	lmin_s;
 	gss_buffer_desc lmsg;
 	OM_uint32	msg_ctx = 0;
 
 	do
 	{
-		lmaj_s = gss_display_status(&lmin_s, stat, type,
+		gss_display_status(&lmin_s, stat, type,
 									GSS_C_NO_OID, &msg_ctx, &lmsg);
 		appendPQExpBuffer(str, "%s: %s\n", mprefix, (char *) lmsg.value);
 		gss_release_buffer(&lmin_s, &lmsg);
diff --git i/src/pl/plpgsql/src/pl_exec.c w/src/pl/plpgsql/src/pl_exec.c
index f793991..43a1d1a 100644
--- i/src/pl/plpgsql/src/pl_exec.c
+++ w/src/pl/plpgsql/src/pl_exec.c
@@ -1913,7 +1913,6 @@ exec_stmt_forc(PLpgSQL_execstate *estate, PLpgSQL_stmt_forc *stmt)
 {
 	PLpgSQL_var *curvar;
 	char	   *curname = NULL;
-	const char *portalname;
 	PLpgSQL_expr *query;
 	ParamListInfo paramLI;
 	Portal		portal;
@@ -1997,7 +1996,6 @@ exec_stmt_forc(PLpgSQL_execstate *estate, PLpgSQL_stmt_forc *stmt)
 	if (portal == NULL)
 		elog(ERROR, "could not open cursor: %s",
 			 SPI_result_code_string(SPI_result));
-	portalname = portal->name;
 
 	/* don't need paramlist any more */
 	if (paramLI)
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to