Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

Add noreturn attributes to some error reporting functions

  • Loading branch information...
commit 0cb1fac3b19f01025b63d2cdceabb8767185da28 1 parent 62401db
@petere petere authored
2  contrib/cube/cubescan.l
@@ -60,7 +60,7 @@ float ({integer}|{real})([eE]{integer})?
+void __attribute__((noreturn))
yyerror(const char *message)
if (*yytext == YY_END_OF_BUFFER_CHAR)
2  contrib/seg/segscan.l
@@ -59,7 +59,7 @@ float ({integer}|{real})([eE]{integer})?
+void __attribute__((noreturn))
yyerror(const char *message)
if (*yytext == YY_END_OF_BUFFER_CHAR)
2  src/backend/replication/repl_scanner.l
@@ -152,7 +152,7 @@ addlitchar(unsigned char ychar)
appendStringInfoChar(&litbuf, ychar);
+void __attribute__((noreturn))
yyerror(const char *message)
4 src/include/mb/pg_wchar.h
@@ -516,9 +516,9 @@ extern void check_encoding_conversion_args(int src_encoding,
int expected_src_encoding,
int expected_dest_encoding);
-extern void report_invalid_encoding(int encoding, const char *mbstr, int len);
+extern void report_invalid_encoding(int encoding, const char *mbstr, int len) __attribute__((noreturn));
extern void report_untranslatable_char(int src_encoding, int dest_encoding,
- const char *mbstr, int len);
+ const char *mbstr, int len) __attribute__((noreturn));
extern void pg_ascii2mic(const unsigned char *l, unsigned char *p, int len);
extern void pg_mic2ascii(const unsigned char *mic, unsigned char *p, int len);
4 src/include/parser/parse_relation.h
@@ -84,9 +84,9 @@ extern bool isLockedRefname(ParseState *pstate, const char *refname);
extern void addRTEtoQuery(ParseState *pstate, RangeTblEntry *rte,
bool addToJoinList,
bool addToRelNameSpace, bool addToVarNameSpace);
-extern void errorMissingRTE(ParseState *pstate, RangeVar *relation);
+extern void errorMissingRTE(ParseState *pstate, RangeVar *relation) __attribute__((noreturn));
extern void errorMissingColumn(ParseState *pstate,
- char *relname, char *colname, int location);
+ char *relname, char *colname, int location) __attribute__((noreturn));
extern void expandRTE(RangeTblEntry *rte, int rtindex, int sublevels_up,
int location, bool include_dropped,
List **colnames, List **colvars);
2  src/include/storage/lock.h
@@ -533,7 +533,7 @@ extern void lock_twophase_standby_recover(TransactionId xid, uint16 info,
extern DeadLockState DeadLockCheck(PGPROC *proc);
extern PGPROC *GetBlockingAutoVacuumPgproc(void);
-extern void DeadLockReport(void);
+extern void DeadLockReport(void) __attribute__((noreturn));
extern void RememberSimpleDeadLock(PGPROC *proc1,
LOCKMODE lockmode,
LOCK *lock,
2  src/include/tcop/tcopprot.h
@@ -64,7 +64,7 @@ extern void assign_max_stack_depth(int newval, void *extra);
extern void die(SIGNAL_ARGS);
extern void quickdie(SIGNAL_ARGS) __attribute__((noreturn));
extern void StatementCancelHandler(SIGNAL_ARGS);
-extern void FloatExceptionHandler(SIGNAL_ARGS);
+extern void FloatExceptionHandler(SIGNAL_ARGS) __attribute__((noreturn));
extern void RecoveryConflictInterrupt(ProcSignalReason reason); /* called from SIGUSR1
* handler */
extern void prepare_for_client_read(void);
2  src/pl/plpgsql/src/pl_scanner.c
@@ -528,7 +528,7 @@ plpgsql_scanner_errposition(int location)
* Beware of using yyerror for other purposes, as the cursor position might
* be misleading!
+void __attribute__((noreturn))
plpgsql_yyerror(const char *message)
char *yytext = core_yy.scanbuf + plpgsql_yylloc;

0 comments on commit 0cb1fac

Please sign in to comment.
Something went wrong with that request. Please try again.