shm_mq_handle **input);
/* Main entrypoint for a worker. */
-extern void test_shm_mq_main(Datum);
+extern void test_shm_mq_main(Datum) __attribute__((noreturn));
#endif
PG_FUNCTION_INFO_V1(worker_spi_launch);
void _PG_init(void);
-void worker_spi_main(Datum);
+void worker_spi_main(Datum) __attribute__((noreturn));
/* flags set by signal handlers */
static volatile sig_atomic_t got_sighup = false;
extern int boot_yyparse(void);
extern int boot_yylex(void);
-extern void boot_yyerror(const char *str);
+extern void boot_yyerror(const char *str) __attribute__((noreturn));
#endif /* BOOTSTRAP_H */
extern int core_yylex(core_YYSTYPE *lvalp, YYLTYPE *llocp,
core_yyscan_t yyscanner);
extern int scanner_errposition(int location, core_yyscan_t yyscanner);
-extern void scanner_yyerror(const char *message, core_yyscan_t yyscanner);
+extern void scanner_yyerror(const char *message, core_yyscan_t yyscanner) __attribute__((noreturn));
#endif /* SCANNER_H */
extern void ResetBackgroundWorkerCrashTimes(void);
/* Function to start a background worker, called from postmaster.c */
-extern void StartBackgroundWorker(void);
+extern void StartBackgroundWorker(void) __attribute__((noreturn));
#ifdef EXEC_BACKEND
extern BackgroundWorker *BackgroundWorkerEntry(int slotno);