Since ereport() can now communicate to the compiler whether it returns
or not, a fair amount of "keep compiler quiet" code is dead.  Since the
method that ereport() uses is not dependent on any compiler-specific
attributes, I think this code can just be removed.  I propose the
attached patch.
diff --git a/contrib/dblink/dblink.c b/contrib/dblink/dblink.c
index ceec6ff..b4fd50c 100644
--- a/contrib/dblink/dblink.c
+++ b/contrib/dblink/dblink.c
@@ -2438,11 +2438,6 @@ static bool is_valid_dblink_option(const PQconninfoOption *options,
 
 		return NULL;
 	}
-
-	/*
-	 * never reached, but keep compiler quiet
-	 */
-	return NULL;
 }
 
 /*
diff --git a/contrib/spi/moddatetime.c b/contrib/spi/moddatetime.c
index 2ec96540..1d10b7a 100644
--- a/contrib/spi/moddatetime.c
+++ b/contrib/spi/moddatetime.c
@@ -110,13 +110,10 @@
 									ObjectIdGetDatum(InvalidOid),
 									Int32GetDatum(-1));
 	else
-	{
 		ereport(ERROR,
 				(errcode(ERRCODE_TRIGGERED_ACTION_EXCEPTION),
 				 errmsg("attribute \"%s\" of \"%s\" must be type TIMESTAMP or TIMESTAMPTZ",
 						args[0], relname)));
-		newdt = (Datum) 0;		/* keep compiler quiet */
-	}
 
 /* 1 is the number of items in the arrays attnum and newdt.
 	attnum is the positional number of the field to be updated.
diff --git a/contrib/tsearch2/tsearch2.c b/contrib/tsearch2/tsearch2.c
index 968bd80..ee7a05b 100644
--- a/contrib/tsearch2/tsearch2.c
+++ b/contrib/tsearch2/tsearch2.c
@@ -54,8 +54,6 @@
 				 errmsg("function %s is no longer supported", \
 						format_procedure(fcinfo->flinfo->fn_oid)), \
 				 errhint("Switch to new tsearch functionality."))); \
-		/* keep compiler quiet */						\
-		PG_RETURN_NULL();								\
 	}													\
 	PG_FUNCTION_INFO_V1(name)
 
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 1faf666..60bf08b 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -5365,7 +5365,6 @@ static bool read_backup_label(XLogRecPtr *checkPointLoc,
 			ereport(FATAL,
 					(errmsg("could not locate required checkpoint record"),
 					 errhint("If you are not restoring from a backup, try removing the file \"%s/backup_label\".", DataDir)));
-			wasShutdown = false;	/* keep compiler quiet */
 		}
 		/* set flag to delete it later */
 		haveBackupLabel = true;
diff --git a/src/backend/catalog/catalog.c b/src/backend/catalog/catalog.c
index 79b71b3..255b928 100644
--- a/src/backend/catalog/catalog.c
+++ b/src/backend/catalog/catalog.c
@@ -76,7 +76,6 @@
 			(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 			 errmsg("invalid fork name"),
 			 errhint("Valid fork names are \"main\", \"fsm\", and \"vm\".")));
-	return InvalidForkNumber;	/* keep compiler quiet */
 }
 
 /*
diff --git a/src/backend/catalog/dependency.c b/src/backend/catalog/dependency.c
index b9cfee2..4084c17 100644
--- a/src/backend/catalog/dependency.c
+++ b/src/backend/catalog/dependency.c
@@ -772,7 +772,6 @@ static bool stack_address_present_add_flags(const ObjectAddress *object,
 						(errcode(ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST),
 						 errmsg("cannot drop %s because it is required by the database system",
 								getObjectDescription(object))));
-				subflags = 0;	/* keep compiler quiet */
 				break;
 			default:
 				elog(ERROR, "unrecognized dependency type '%c' for %s",
diff --git a/src/backend/commands/constraint.c b/src/backend/commands/constraint.c
index 8ac8373..2cf01d5 100644
--- a/src/backend/commands/constraint.c
+++ b/src/backend/commands/constraint.c
@@ -75,13 +75,10 @@
 	else if (TRIGGER_FIRED_BY_UPDATE(trigdata->tg_event))
 		new_row = trigdata->tg_newtuple;
 	else
-	{
 		ereport(ERROR,
 				(errcode(ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED),
 				 errmsg("function \"%s\" must be fired for INSERT or UPDATE",
 						funcname)));
-		new_row = NULL;			/* keep compiler quiet */
-	}
 
 	/*
 	 * If the new_row is now dead (ie, inserted and then deleted within our
diff --git a/src/backend/commands/define.c b/src/backend/commands/define.c
index e0b0fc3..87051ac 100644
--- a/src/backend/commands/define.c
+++ b/src/backend/commands/define.c
@@ -106,7 +106,6 @@
 					 errmsg("%s requires a numeric value",
 							def->defname)));
 	}
-	return 0;					/* keep compiler quiet */
 }
 
 /*
@@ -161,7 +160,6 @@
 			(errcode(ERRCODE_SYNTAX_ERROR),
 			 errmsg("%s requires a Boolean value",
 					def->defname)));
-	return false;				/* keep compiler quiet */
 }
 
 /*
@@ -194,7 +192,6 @@
 					 errmsg("%s requires a numeric value",
 							def->defname)));
 	}
-	return 0;					/* keep compiler quiet */
 }
 
 /*
@@ -223,7 +220,6 @@
 					 errmsg("argument of %s must be a name",
 							def->defname)));
 	}
-	return NIL;					/* keep compiler quiet */
 }
 
 /*
@@ -253,7 +249,6 @@
 					 errmsg("argument of %s must be a type name",
 							def->defname)));
 	}
-	return NULL;				/* keep compiler quiet */
 }
 
 /*
@@ -298,7 +293,6 @@
 			(errcode(ERRCODE_SYNTAX_ERROR),
 			 errmsg("invalid argument for %s: \"%s\"",
 					def->defname, defGetString(def))));
-	return 0;					/* keep compiler quiet */
 }
 
 /*
diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c
index 47631be..a04d302 100644
--- a/src/backend/commands/extension.c
+++ b/src/backend/commands/extension.c
@@ -1278,12 +1278,9 @@ static void ApplyExtensionUpdates(Oid extensionOid,
 	else if (pcontrol->default_version)
 		versionName = pcontrol->default_version;
 	else
-	{
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 				 errmsg("version to install must be specified")));
-		versionName = NULL;		/* keep compiler quiet */
-	}
 	check_valid_version_name(versionName);
 
 	/*
@@ -2467,12 +2464,9 @@ static void ApplyExtensionUpdates(Oid extensionOid,
 	else if (control->default_version)
 		versionName = control->default_version;
 	else
-	{
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 				 errmsg("version to install must be specified")));
-		versionName = NULL;		/* keep compiler quiet */
-	}
 	check_valid_version_name(versionName);
 
 	/*
diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c
index 453e33a..a943148 100644
--- a/src/backend/commands/functioncmds.c
+++ b/src/backend/commands/functioncmds.c
@@ -233,13 +233,10 @@
 			ReleaseSysCache(typtup);
 		}
 		else
-		{
 			ereport(ERROR,
 					(errcode(ERRCODE_UNDEFINED_OBJECT),
 					 errmsg("type %s does not exist",
 							TypeNameToString(t))));
-			toid = InvalidOid;	/* keep compiler quiet */
-		}
 
 		aclresult = pg_type_aclcheck(toid, GetUserId(), ACL_USAGE);
 		if (aclresult != ACLCHECK_OK)
@@ -494,7 +491,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_SYNTAX_ERROR),
 			 errmsg("conflicting or redundant options")));
-	return false;				/* keep compiler quiet */
 }
 
 static char
@@ -625,22 +621,16 @@
 	if (as_item)
 		*as = (List *) as_item->arg;
 	else
-	{
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
 				 errmsg("no function body specified")));
-		*as = NIL;				/* keep compiler quiet */
-	}
 
 	if (language_item)
 		*language = strVal(language_item->arg);
 	else
-	{
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
 				 errmsg("no language specified")));
-		*language = NULL;		/* keep compiler quiet */
-	}
 
 	/* process optional items */
 	if (windowfunc_item)
diff --git a/src/backend/commands/opclasscmds.c b/src/backend/commands/opclasscmds.c
index 099bb39..241afbe 100644
--- a/src/backend/commands/opclasscmds.c
+++ b/src/backend/commands/opclasscmds.c
@@ -868,12 +868,9 @@ static void dropProcedures(List *opfamilyname, Oid amoid, Oid opfamilyoid,
 													  false, -1);
 				}
 				else
-				{
 					ereport(ERROR,
 							(errcode(ERRCODE_SYNTAX_ERROR),
 							 errmsg("operator argument types must be specified in ALTER OPERATOR FAMILY")));
-					operOid = InvalidOid;		/* keep compiler quiet */
-				}
 
 				if (item->order_family)
 					sortfamilyOid = get_opfamily_oid(BTREE_AM_OID,
diff --git a/src/backend/commands/portalcmds.c b/src/backend/commands/portalcmds.c
index e402042..4cc55f1 100644
--- a/src/backend/commands/portalcmds.c
+++ b/src/backend/commands/portalcmds.c
@@ -162,12 +162,9 @@
 	/* get the portal from the portal name */
 	portal = GetPortalByName(stmt->portalname);
 	if (!PortalIsValid(portal))
-	{
 		ereport(ERROR,
 				(errcode(ERRCODE_UNDEFINED_CURSOR),
 				 errmsg("cursor \"%s\" does not exist", stmt->portalname)));
-		return;					/* keep compiler happy */
-	}
 
 	/* Adjust dest if needed.  MOVE wants destination DestNone */
 	if (stmt->ismove)
@@ -216,12 +213,9 @@
 	 */
 	portal = GetPortalByName(name);
 	if (!PortalIsValid(portal))
-	{
 		ereport(ERROR,
 				(errcode(ERRCODE_UNDEFINED_CURSOR),
 				 errmsg("cursor \"%s\" does not exist", name)));
-		return;					/* keep compiler happy */
-	}
 
 	/*
 	 * Note: PortalCleanup is called as a side-effect, if not already done.
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index f88bf79..2e37888 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -5117,13 +5117,10 @@ static void RangeVarCallbackForAlterRelation(const RangeVar *rv, Oid relid,
 	else if (pg_strcasecmp(storagemode, "main") == 0)
 		newstorage = 'm';
 	else
-	{
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 				 errmsg("invalid storage type \"%s\"",
 						storagemode)));
-		newstorage = 0;			/* keep compiler quiet */
-	}
 
 	attrelation = heap_open(AttributeRelationId, RowExclusiveLock);
 
diff --git a/src/backend/commands/typecmds.c b/src/backend/commands/typecmds.c
index 8418096..55765b6 100644
--- a/src/backend/commands/typecmds.c
+++ b/src/backend/commands/typecmds.c
@@ -1624,8 +1624,6 @@ static char *domainAddConstraint(Oid domainOid, Oid domainNamespace,
 			(errcode(ERRCODE_UNDEFINED_FUNCTION),
 			 errmsg("function %s does not exist",
 					func_signature_string(procname, 1, NIL, argList))));
-
-	return InvalidOid;			/* keep compiler quiet */
 }
 
 static Oid
@@ -1675,8 +1673,6 @@ static char *domainAddConstraint(Oid domainOid, Oid domainNamespace,
 			(errcode(ERRCODE_UNDEFINED_FUNCTION),
 			 errmsg("function %s does not exist",
 					func_signature_string(procname, 1, NIL, argList))));
-
-	return InvalidOid;			/* keep compiler quiet */
 }
 
 static Oid
@@ -1706,8 +1702,6 @@ static char *domainAddConstraint(Oid domainOid, Oid domainNamespace,
 			(errcode(ERRCODE_UNDEFINED_FUNCTION),
 			 errmsg("function %s does not exist",
 					func_signature_string(procname, 1, NIL, argList))));
-
-	return InvalidOid;			/* keep compiler quiet */
 }
 
 static Oid
@@ -1729,8 +1723,6 @@ static char *domainAddConstraint(Oid domainOid, Oid domainNamespace,
 			(errcode(ERRCODE_UNDEFINED_FUNCTION),
 			 errmsg("function %s does not exist",
 					func_signature_string(procname, 1, NIL, argList))));
-
-	return InvalidOid;			/* keep compiler quiet */
 }
 
 static Oid
diff --git a/src/backend/executor/execQual.c b/src/backend/executor/execQual.c
index 56b106a..c537fd5 100644
--- a/src/backend/executor/execQual.c
+++ b/src/backend/executor/execQual.c
@@ -1147,7 +1147,6 @@ static Datum ExecEvalCurrentOfExpr(ExprState *exprstate, ExprContext *econtext,
 	ereport(ERROR,
 			(errcode(ERRCODE_UNDEFINED_OBJECT),
 			 errmsg("no value found for parameter %d", thisParamId)));
-	return (Datum) 0;			/* keep compiler quiet */
 }
 
 
@@ -1540,7 +1539,6 @@ static Datum ExecEvalCurrentOfExpr(ExprState *exprstate, ExprContext *econtext,
 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 					 errmsg("function returning setof record called in "
 							"context that cannot accept type record")));
-			slotDesc = NULL;	/* keep compiler quiet */
 		}
 
 		fcache->funcResultSlot = MakeSingleTupleTableSlot(slotDesc);
diff --git a/src/backend/port/win32_sema.c b/src/backend/port/win32_sema.c
index ef1a4c3..e14dc2c 100644
--- a/src/backend/port/win32_sema.c
+++ b/src/backend/port/win32_sema.c
@@ -205,7 +205,4 @@
 	/* Otherwise we are in trouble */
 	ereport(FATAL,
 	(errmsg("could not try-lock semaphore: error code %lu", GetLastError())));
-
-	/* keep compiler quiet */
-	return false;
 }
diff --git a/src/backend/storage/large_object/inv_api.c b/src/backend/storage/large_object/inv_api.c
index ad8424b..577ea8e 100644
--- a/src/backend/storage/large_object/inv_api.c
+++ b/src/backend/storage/large_object/inv_api.c
@@ -409,7 +409,6 @@
 			ereport(ERROR,
 					(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 					 errmsg("invalid whence setting: %d", whence)));
-			newoffset = 0;		/* keep compiler quiet */
 			break;
 	}
 
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 585db1a..0b786be 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -1678,7 +1678,6 @@
 						(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 						 errmsg("unsupported format code: %d",
 								pformat)));
-				pval = 0;		/* keep compiler quiet */
 			}
 
 			/* Restore message buffer contents */
diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c
index fc8e287..ffafea0 100644
--- a/src/backend/utils/adt/acl.c
+++ b/src/backend/utils/adt/acl.c
@@ -1535,8 +1535,6 @@ static AclMode convert_any_priv_string(text *priv_type_text,
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("aclinsert is no longer supported")));
-
-	PG_RETURN_NULL();			/* keep compiler quiet */
 }
 
 Datum
@@ -1545,8 +1543,6 @@ static AclMode convert_any_priv_string(text *priv_type_text,
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("aclremove is no longer supported")));
-
-	PG_RETURN_NULL();			/* keep compiler quiet */
 }
 
 Datum
@@ -1631,7 +1627,6 @@ static AclMode convert_any_priv_string(text *priv_type_text,
 	ereport(ERROR,
 			(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 			 errmsg("unrecognized privilege type: \"%s\"", priv_type)));
-	return ACL_NO_RIGHTS;		/* keep compiler quiet */
 }
 
 
diff --git a/src/backend/utils/adt/array_userfuncs.c b/src/backend/utils/adt/array_userfuncs.c
index a6ba0cf..575d919 100644
--- a/src/backend/utils/adt/array_userfuncs.c
+++ b/src/backend/utils/adt/array_userfuncs.c
@@ -80,7 +80,6 @@
 		ereport(ERROR,
 				(errcode(ERRCODE_DATATYPE_MISMATCH),
 				 errmsg("neither input type is an array")));
-		PG_RETURN_NULL();		/* keep compiler quiet */
 	}
 
 	element_type = ARR_ELEMTYPE(v);
diff --git a/src/backend/utils/adt/ascii.c b/src/backend/utils/adt/ascii.c
index 71a778f..b156729 100644
--- a/src/backend/utils/adt/ascii.c
+++ b/src/backend/utils/adt/ascii.c
@@ -74,7 +74,6 @@ static void pg_to_ascii(unsigned char *src, unsigned char *src_end,
 				(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 				 errmsg("encoding conversion from %s to ASCII not supported",
 						pg_encoding_to_char(enc))));
-		return;					/* keep compiler quiet */
 	}
 
 	/*
diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c
index 6e29ebb..3b9061b 100644
--- a/src/backend/utils/adt/date.c
+++ b/src/backend/utils/adt/date.c
@@ -1006,7 +1006,6 @@
 			ereport(ERROR,
 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 				   errmsg("cannot convert reserved abstime value to date")));
-			result = 0;			/* keep compiler quiet */
 			break;
 
 		case NOSTART_ABSTIME:
@@ -2660,7 +2659,6 @@
 			ereport(ERROR,
 					(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 					 errmsg("time zone \"%s\" not recognized", tzname)));
-			tz = 0;				/* keep compiler quiet */
 		}
 	}
 
diff --git a/src/backend/utils/adt/nabstime.c b/src/backend/utils/adt/nabstime.c
index dbd9e92..ec3105d 100644
--- a/src/backend/utils/adt/nabstime.c
+++ b/src/backend/utils/adt/nabstime.c
@@ -1575,7 +1575,6 @@ static void parsetinterval(char *i_string,
 			(errcode(ERRCODE_INVALID_DATETIME_FORMAT),
 			 errmsg("invalid input syntax for type tinterval: \"%s\"",
 					i_string)));
-	*i_start = *i_end = INVALID_ABSTIME;		/* keep compiler quiet */
 }
 
 
diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c
index 68c1f1d..86fda0e 100644
--- a/src/backend/utils/adt/numeric.c
+++ b/src/backend/utils/adt/numeric.c
@@ -882,7 +882,6 @@ static void compute_bucket(Numeric operand, Numeric bound1, Numeric bound2,
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 				 errmsg("invalid NUMERIC type modifier")));
-		typmod = 0;				/* keep compiler quiet */
 	}
 
 	PG_RETURN_INT32(typmod);
diff --git a/src/backend/utils/adt/pseudotypes.c b/src/backend/utils/adt/pseudotypes.c
index 8590f3c..f0d2f15 100644
--- a/src/backend/utils/adt/pseudotypes.c
+++ b/src/backend/utils/adt/pseudotypes.c
@@ -93,8 +93,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type any")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -106,8 +104,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot display a value of type any")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 
@@ -120,8 +116,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type anyarray")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -148,8 +142,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type anyarray")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -173,8 +165,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type anyenum")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -197,8 +187,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type anyrange")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -274,8 +262,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type trigger")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -287,8 +273,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot display a value of type trigger")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 
@@ -301,8 +285,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type event_trigger")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -314,8 +296,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot display a value of type event_trigger")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 
@@ -328,8 +308,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type language_handler")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -341,8 +319,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot display a value of type language_handler")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 
@@ -355,8 +331,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type fdw_handler")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -368,8 +342,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot display a value of type fdw_handler")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 
@@ -382,8 +354,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type internal")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -395,8 +365,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot display a value of type internal")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 
@@ -409,8 +377,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type opaque")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -422,8 +388,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot display a value of type opaque")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 
@@ -436,8 +400,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type anyelement")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -449,8 +411,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot display a value of type anyelement")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -462,8 +422,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type anynonarray")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -475,8 +433,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot display a value of type anynonarray")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -488,8 +444,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of a shell type")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -501,8 +455,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot display a value of a shell type")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 
@@ -523,8 +475,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type pg_node_tree")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
@@ -547,8 +497,6 @@
 	ereport(ERROR,
 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 			 errmsg("cannot accept a value of type pg_node_tree")));
-
-	PG_RETURN_VOID();			/* keep compiler quiet */
 }
 
 /*
diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c
index 6ff7385..86b5b6f 100644
--- a/src/backend/utils/adt/timestamp.c
+++ b/src/backend/utils/adt/timestamp.c
@@ -840,7 +840,6 @@
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 				 errmsg("invalid INTERVAL type modifier")));
-		typmod = 0;				/* keep compiler quiet */
 	}
 
 	PG_RETURN_INT32(typmod);
@@ -4583,7 +4582,6 @@
 			ereport(ERROR,
 					(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 					 errmsg("time zone \"%s\" not recognized", tzname)));
-			result = 0;			/* keep compiler quiet */
 		}
 	}
 
@@ -4755,7 +4753,6 @@
 			ereport(ERROR,
 					(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 					 errmsg("time zone \"%s\" not recognized", tzname)));
-			result = 0;			/* keep compiler quiet */
 		}
 	}
 
diff --git a/src/backend/utils/fmgr/fmgr.c b/src/backend/utils/fmgr/fmgr.c
index 2ec63fa..a950621 100644
--- a/src/backend/utils/fmgr/fmgr.c
+++ b/src/backend/utils/fmgr/fmgr.c
@@ -851,7 +851,6 @@ static void record_C_func(HeapTuple procedureTuple,
 					(errcode(ERRCODE_TOO_MANY_ARGUMENTS),
 			 errmsg("function %u has too many arguments (%d, maximum is %d)",
 					fcinfo->flinfo->fn_oid, n_arguments, 16)));
-			returnValue = NULL; /* keep compiler quiet */
 			break;
 	}
 
diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c
index 35f5721..94b999e 100644
--- a/src/pl/plpgsql/src/pl_comp.c
+++ b/src/pl/plpgsql/src/pl_comp.c
@@ -1930,7 +1930,6 @@ static void plpgsql_HashTableInsert(PLpgSQL_function *function,
 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
 					 errmsg("variable \"%s\" has pseudo-type %s",
 							refname, format_type_be(dtype->typoid))));
-			result = NULL;		/* keep compiler quiet */
 			break;
 		default:
 			elog(ERROR, "unrecognized ttype: %d", dtype->ttype);
@@ -2226,7 +2225,6 @@ static void plpgsql_HashTableInsert(PLpgSQL_function *function,
 			(errcode(ERRCODE_UNDEFINED_OBJECT),
 			 errmsg("unrecognized exception condition \"%s\"",
 					condname)));
-	return 0;					/* keep compiler quiet */
 }
 
 /*
diff --git a/src/pl/plpython/plpy_exec.c b/src/pl/plpython/plpy_exec.c
index b2425ed..7b992f7 100644
--- a/src/pl/plpython/plpy_exec.c
+++ b/src/pl/plpython/plpy_exec.c
@@ -283,13 +283,10 @@ static HeapTuple PLy_modify_tuple(PLyProcedure *proc, PyObject *pltd,
 			else if (PyUnicode_Check(plrv))
 				srv = PLyUnicode_AsString(plrv);
 			else
-			{
 				ereport(ERROR,
 						(errcode(ERRCODE_DATA_EXCEPTION),
 					errmsg("unexpected return value from trigger procedure"),
 						 errdetail("Expected None or a string.")));
-				srv = NULL;		/* keep compiler quiet */
-			}
 
 			if (pg_strcasecmp(srv, "SKIP") == 0)
 				rv = NULL;
@@ -687,11 +684,9 @@ static HeapTuple PLy_modify_tuple(PLyProcedure *proc, PyObject *pltd,
 			else if (PyUnicode_Check(platt))
 				plattstr = PLyUnicode_AsString(platt);
 			else
-			{
 				ereport(ERROR,
 						(errmsg("TD[\"new\"] dictionary key at ordinal position %d is not a string", i)));
-				plattstr = NULL;	/* keep compiler quiet */
-			}
+
 			attn = SPI_fnumber(tupdesc, plattstr);
 			if (attn == SPI_ERROR_NOATTRIBUTE)
 				ereport(ERROR,
diff --git a/src/pl/plpython/plpy_spi.c b/src/pl/plpython/plpy_spi.c
index a65af37..0297bd8 100644
--- a/src/pl/plpython/plpy_spi.c
+++ b/src/pl/plpython/plpy_spi.c
@@ -101,11 +101,8 @@
 			else if (PyUnicode_Check(optr))
 				sptr = PLyUnicode_AsString(optr);
 			else
-			{
 				ereport(ERROR,
 						(errmsg("plpy.prepare: type name at ordinal position %d is not a string", i)));
-				sptr = NULL;	/* keep compiler quiet */
-			}
 
 			/********************************************************
 			 * Resolve argument type names and then look them up by
-- 
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