pg-not-reached.patch
text/x-patch
Filename: pg-not-reached.patch
Type: text/x-patch
Part: 0
Message:
Re: elog/ereport noreturn decoration
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| contrib/hstore/hstore_io.c | 0 | 2 |
| contrib/intarray/_int_bool.c | 0 | 3 |
| contrib/intarray/_int_gist.c | 0 | 2 |
| contrib/ltree/ltxtquery_io.c | 0 | 1 |
| contrib/ltree/ltxtquery_op.c | 0 | 1 |
| src/backend/access/gin/ginbtree.c | 0 | 3 |
| src/backend/access/gin/ginget.c | 0 | 2 |
| src/backend/access/gist/gistget.c | 0 | 2 |
| src/backend/executor/nodeGroup.c | 0 | 3 |
| src/backend/libpq/be-secure.c | 2 | 2 |
| src/backend/storage/buffer/freelist.c | 0 | 3 |
| src/backend/tcop/postgres.c | 0 | 5 |
| src/backend/tsearch/dict_thesaurus.c | 0 | 2 |
| src/backend/utils/adt/formatting.c | 0 | 1 |
| src/backend/utils/adt/tsquery.c | 0 | 1 |
| src/backend/utils/adt/tsvector_parser.c | 0 | 2 |
| src/bin/pg_basebackup/pg_receivexlog.c | 0 | 3 |
| src/bin/psql/variables.c | 0 | 2 |
| src/interfaces/ecpg/ecpglib/typename.c | 0 | 1 |
| src/pl/plperl/plperl.c | 9 | 1 |
| src/pl/plpgsql/src/pl_exec.c | 0 | 2 |
diff --git a/contrib/hstore/hstore_io.c b/contrib/hstore/hstore_io.c
index aadf050..7bdac3d 100644
--- a/contrib/hstore/hstore_io.c
+++ b/contrib/hstore/hstore_io.c
@@ -163,8 +163,6 @@
state->ptr++;
}
-
- return false;
}
#define WKEY 0
diff --git a/contrib/intarray/_int_bool.c b/contrib/intarray/_int_bool.c
index dfb113a..d0572af 100644
--- a/contrib/intarray/_int_bool.c
+++ b/contrib/intarray/_int_bool.c
@@ -136,7 +136,6 @@
}
(state->buf)++;
}
- return END;
}
/*
@@ -301,7 +300,6 @@
else
return execute(curitem - 1, checkval, calcnot, chkcond);
}
- return false;
}
/*
@@ -404,7 +402,6 @@
else
return false;
}
- return false;
}
bool
diff --git a/contrib/intarray/_int_gist.c b/contrib/intarray/_int_gist.c
index e429c8b..60de393 100644
--- a/contrib/intarray/_int_gist.c
+++ b/contrib/intarray/_int_gist.c
@@ -217,8 +217,6 @@
}
else
PG_RETURN_POINTER(entry);
-
- PG_RETURN_POINTER(entry);
}
Datum
diff --git a/contrib/ltree/ltxtquery_io.c b/contrib/ltree/ltxtquery_io.c
index c2e532c..583ff2a 100644
--- a/contrib/ltree/ltxtquery_io.c
+++ b/contrib/ltree/ltxtquery_io.c
@@ -139,7 +139,6 @@
state->buf += charlen;
}
- return END;
}
/*
diff --git a/contrib/ltree/ltxtquery_op.c b/contrib/ltree/ltxtquery_op.c
index bedbe24..64f9d21 100644
--- a/contrib/ltree/ltxtquery_op.c
+++ b/contrib/ltree/ltxtquery_op.c
@@ -40,7 +40,6 @@
else
return ltree_execute(curitem + 1, checkval, calcnot, chkcond);
}
- return false;
}
typedef struct
diff --git a/src/backend/access/gin/ginbtree.c b/src/backend/access/gin/ginbtree.c
index 82ac53e..3efdedd 100644
--- a/src/backend/access/gin/ginbtree.c
+++ b/src/backend/access/gin/ginbtree.c
@@ -146,9 +146,6 @@
stack->predictNumber = 1;
}
}
-
- /* keep compiler happy */
- return NULL;
}
void
diff --git a/src/backend/access/gin/ginget.c b/src/backend/access/gin/ginget.c
index 022bd27..5702259 100644
--- a/src/backend/access/gin/ginget.c
+++ b/src/backend/access/gin/ginget.c
@@ -354,8 +354,6 @@
*/
stack->off++;
}
-
- return true;
}
/*
diff --git a/src/backend/access/gist/gistget.c b/src/backend/access/gist/gistget.c
index c790ad6..2253e7c 100644
--- a/src/backend/access/gist/gistget.c
+++ b/src/backend/access/gist/gistget.c
@@ -535,8 +535,6 @@
} while (so->nPageData == 0);
}
}
-
- PG_RETURN_BOOL(false); /* keep compiler quiet */
}
/*
diff --git a/src/backend/executor/nodeGroup.c b/src/backend/executor/nodeGroup.c
index 80e282b..a8a1fe6 100644
--- a/src/backend/executor/nodeGroup.c
+++ b/src/backend/executor/nodeGroup.c
@@ -184,9 +184,6 @@
else
InstrCountFiltered1(node, 1);
}
-
- /* NOTREACHED */
- return NULL;
}
/* -----------------
diff --git a/src/backend/libpq/be-secure.c b/src/backend/libpq/be-secure.c
index e0ab599..0d66dab 100644
--- a/src/backend/libpq/be-secure.c
+++ b/src/backend/libpq/be-secure.c
@@ -201,9 +201,9 @@
{
#ifdef USE_SSL
return ssl_loaded_verify_locations;
-#endif
-
+#else
return false;
+#endif
}
/*
diff --git a/src/backend/storage/buffer/freelist.c b/src/backend/storage/buffer/freelist.c
index c927747..d96b7a7 100644
--- a/src/backend/storage/buffer/freelist.c
+++ b/src/backend/storage/buffer/freelist.c
@@ -233,9 +233,6 @@ static void AddBufferToRing(BufferAccessStrategy strategy,
}
UnlockBufHdr(buf);
}
-
- /* not reached */
- return NULL;
}
/*
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 9a5438f..f696375 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -4198,11 +4198,6 @@
firstchar)));
}
} /* end of input-reading loop */
-
- /* can't get here because the above loop never exits */
- Assert(false);
-
- abort(); /* keep compiler quiet */
}
diff --git a/src/backend/tsearch/dict_thesaurus.c b/src/backend/tsearch/dict_thesaurus.c
index 7e641ef..1f52372 100644
--- a/src/backend/tsearch/dict_thesaurus.c
+++ b/src/backend/tsearch/dict_thesaurus.c
@@ -744,8 +744,6 @@
for (i = 0; i < newn; i++)
newin[i] = newin[i]->nextentry;
}
-
- return NULL;
}
static TSLexeme *
diff --git a/src/backend/utils/adt/formatting.c b/src/backend/utils/adt/formatting.c
index b46cb87..4347ad3 100644
--- a/src/backend/utils/adt/formatting.c
+++ b/src/backend/utils/adt/formatting.c
@@ -1439,7 +1439,6 @@ static char *NUM_processor(FormatNode *node, NUMDesc *Num, char *inout, char *nu
return numTH[3];
return numth[3];
}
- return NULL;
}
/* ----------
diff --git a/src/backend/utils/adt/tsquery.c b/src/backend/utils/adt/tsquery.c
index 010167a..b7c46ab 100644
--- a/src/backend/utils/adt/tsquery.c
+++ b/src/backend/utils/adt/tsquery.c
@@ -216,7 +216,6 @@ struct TSQueryParserStateData
}
state->buf += pg_mblen(state->buf);
}
- return PT_END;
}
/*
diff --git a/src/backend/utils/adt/tsvector_parser.c b/src/backend/utils/adt/tsvector_parser.c
index 5214fce..058b30f 100644
--- a/src/backend/utils/adt/tsvector_parser.c
+++ b/src/backend/utils/adt/tsvector_parser.c
@@ -362,6 +362,4 @@ struct TSVectorParseStateData
/* get next char */
state->prsbuf += pg_mblen(state->prsbuf);
}
-
- return false;
}
diff --git a/src/bin/pg_basebackup/pg_receivexlog.c b/src/bin/pg_basebackup/pg_receivexlog.c
index dbc6ecf..c4e1d2a 100644
--- a/src/bin/pg_basebackup/pg_receivexlog.c
+++ b/src/bin/pg_basebackup/pg_receivexlog.c
@@ -435,7 +435,4 @@
pg_usleep(RECONNECT_SLEEP_TIME * 1000000);
}
}
-
- /* Never get here */
- exit(2);
}
diff --git a/src/bin/psql/variables.c b/src/bin/psql/variables.c
index 4baa3e2..6875f63 100644
--- a/src/bin/psql/variables.c
+++ b/src/bin/psql/variables.c
@@ -115,8 +115,6 @@
psql_error("unrecognized Boolean value; assuming \"on\"\n");
return true;
}
- /* suppress compiler warning */
- return true;
}
diff --git a/src/interfaces/ecpg/ecpglib/typename.c b/src/interfaces/ecpg/ecpglib/typename.c
index d4bfd0d..98b8189 100644
--- a/src/interfaces/ecpg/ecpglib/typename.c
+++ b/src/interfaces/ecpg/ecpglib/typename.c
@@ -65,7 +65,6 @@
default:
abort();
}
- return NULL;
}
int
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index db584c4..935f30c 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -832,7 +832,15 @@ static SV *plperl_call_perl_func(plperl_proc_desc *desc,
RETPUSHYES;
DIE(aTHX_ "Unable to load %s into plperl", name);
- return NULL; /* keep compiler quiet */
+ /*
+ * In most Perl versions, DIE() expands to a return statement, so the next
+ * line is not necessary. But in versions between but not including 5.11.1
+ * and 5.13.3 it does not, so the next line is necessary to avoid "control
+ * reaches end of non-void function" warnings from gcc. Other compilers
+ * such as Solaris Studio will, however, issue a "statement not reached"
+ * warning instead.
+ */
+ return NULL;
}
diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c
index 8ca791c..11a56c9 100644
--- a/src/pl/plpgsql/src/pl_exec.c
+++ b/src/pl/plpgsql/src/pl_exec.c
@@ -1663,8 +1663,6 @@ static Portal exec_dynquery_with_params(PLpgSQL_execstate *estate,
elog(ERROR, "unrecognized rc: %d", rc);
}
}
-
- return PLPGSQL_RC_OK;
}