aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--iconvdata/tst-table-to.c14
-rw-r--r--localedata/ChangeLog4
-rw-r--r--localedata/tst-fmon.c2
-rw-r--r--nis/rpcsvc/yp.h128
-rw-r--r--nis/rpcsvc/yp_prot.h36
-rw-r--r--nis/rpcsvc/ypupd.h20
-rw-r--r--sunrpc/proto.h4
-rw-r--r--sunrpc/rpc_main.c5
-rw-r--r--sunrpc/rpc_scan.h7
-rw-r--r--sunrpc/rpcinfo.c2
10 files changed, 114 insertions, 108 deletions
diff --git a/iconvdata/tst-table-to.c b/iconvdata/tst-table-to.c
index f154116..c763c84 100644
--- a/iconvdata/tst-table-to.c
+++ b/iconvdata/tst-table-to.c
@@ -36,7 +36,7 @@ main (int argc, char *argv[])
if (argc != 2)
{
fprintf (stderr, "Usage: tst-table-to charset\n");
- exit (1);
+ return 1;
}
charset = argv[1];
@@ -44,7 +44,7 @@ main (int argc, char *argv[])
if (cd == (iconv_t)(-1))
{
perror ("iconv_open");
- exit (1);
+ return 1;
}
{
@@ -69,7 +69,7 @@ main (int argc, char *argv[])
fprintf (stderr, "0x%02X: iconv error: ", i);
errno = saved_errno;
perror ("");
- exit (1);
+ return 1;
}
}
else if (result == 0) /* ignore conversions with transliteration */
@@ -80,7 +80,7 @@ main (int argc, char *argv[])
fprintf (stderr, "0x%02X: inbytes = %ld, outbytes = %ld\n", i,
(long) (sizeof (unsigned short) - inbytesleft),
(long) (sizeof (buf) - outbytesleft));
- exit (1);
+ return 1;
}
jmax = sizeof (buf) - outbytesleft;
printf ("0x");
@@ -94,14 +94,14 @@ main (int argc, char *argv[])
if (iconv_close (cd) < 0)
{
perror ("iconv_close");
- exit (1);
+ return 1;
}
if (ferror (stdin) || fflush (stdout) || ferror (stdout))
{
fprintf (stderr, "I/O error\n");
- exit (1);
+ return 1;
}
- exit (0);
+ return 0;
}
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index ef99668..08c3b49 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,7 @@
+2000-12-31 Andreas Jaeger <aj@suse.de>
+
+ * tst-fmon.c (main): Use return instead of exit to avoid warning.
+
2000-12-21 Ulrich Drepper <drepper@redhat.com>
* tests/test5.cm: Define code_set_name.
diff --git a/localedata/tst-fmon.c b/localedata/tst-fmon.c
index f9ef24a..fa2d9e6 100644
--- a/localedata/tst-fmon.c
+++ b/localedata/tst-fmon.c
@@ -67,5 +67,5 @@ locale: \"%s\", format: \"%s\", expected: \"%s\", got: \"%s\" => %s\n",
exit (EXIT_FAILURE);
}
- exit (EXIT_SUCCESS);
+ return EXIT_SUCCESS;
}
diff --git a/nis/rpcsvc/yp.h b/nis/rpcsvc/yp.h
index d951c15..ffc13b8 100644
--- a/nis/rpcsvc/yp.h
+++ b/nis/rpcsvc/yp.h
@@ -241,96 +241,96 @@ __BEGIN_DECLS
#define YPVERS 2
#define YPPROC_NULL 0
-extern void *ypproc_null_2 __P ((void *, CLIENT *));
-extern void *ypproc_null_2_svc __P ((void *, struct svc_req *));
+extern void *ypproc_null_2 (void *, CLIENT *);
+extern void *ypproc_null_2_svc (void *, struct svc_req *);
#define YPPROC_DOMAIN 1
-extern bool_t *ypproc_domain_2 __P ((domainname *, CLIENT *));
-extern bool_t *ypproc_domain_2_svc __P ((domainname *, struct svc_req *));
+extern bool_t *ypproc_domain_2 (domainname *, CLIENT *);
+extern bool_t *ypproc_domain_2_svc (domainname *, struct svc_req *);
#define YPPROC_DOMAIN_NONACK 2
-extern bool_t *ypproc_domain_nonack_2 __P ((domainname *, CLIENT *));
-extern bool_t *ypproc_domain_nonack_2_svc __P ((domainname *, struct svc_req *));
+extern bool_t *ypproc_domain_nonack_2 (domainname *, CLIENT *);
+extern bool_t *ypproc_domain_nonack_2_svc (domainname *, struct svc_req *);
#define YPPROC_MATCH 3
-extern ypresp_val *ypproc_match_2 __P ((ypreq_key *, CLIENT *));
-extern ypresp_val *ypproc_match_2_svc __P ((ypreq_key *, struct svc_req *));
+extern ypresp_val *ypproc_match_2 (ypreq_key *, CLIENT *);
+extern ypresp_val *ypproc_match_2_svc (ypreq_key *, struct svc_req *);
#define YPPROC_FIRST 4
-extern ypresp_key_val *ypproc_first_2 __P ((ypreq_key *, CLIENT *));
-extern ypresp_key_val *ypproc_first_2_svc __P ((ypreq_key *, struct svc_req *));
+extern ypresp_key_val *ypproc_first_2 (ypreq_key *, CLIENT *);
+extern ypresp_key_val *ypproc_first_2_svc (ypreq_key *, struct svc_req *);
#define YPPROC_NEXT 5
-extern ypresp_key_val *ypproc_next_2 __P ((ypreq_key *, CLIENT *));
-extern ypresp_key_val *ypproc_next_2_svc __P ((ypreq_key *, struct svc_req *));
+extern ypresp_key_val *ypproc_next_2 (ypreq_key *, CLIENT *);
+extern ypresp_key_val *ypproc_next_2_svc (ypreq_key *, struct svc_req *);
#define YPPROC_XFR 6
-extern ypresp_xfr *ypproc_xfr_2 __P ((ypreq_xfr *, CLIENT *));
-extern ypresp_xfr *ypproc_xfr_2_svc __P ((ypreq_xfr *, struct svc_req *));
+extern ypresp_xfr *ypproc_xfr_2 (ypreq_xfr *, CLIENT *);
+extern ypresp_xfr *ypproc_xfr_2_svc (ypreq_xfr *, struct svc_req *);
#define YPPROC_CLEAR 7
-extern void *ypproc_clear_2 __P ((void *, CLIENT *));
-extern void *ypproc_clear_2_svc __P ((void *, struct svc_req *));
+extern void *ypproc_clear_2 (void *, CLIENT *);
+extern void *ypproc_clear_2_svc (void *, struct svc_req *);
#define YPPROC_ALL 8
-extern ypresp_all *ypproc_all_2 __P ((ypreq_nokey *, CLIENT *));
-extern ypresp_all *ypproc_all_2_svc __P ((ypreq_nokey *, struct svc_req *));
+extern ypresp_all *ypproc_all_2 (ypreq_nokey *, CLIENT *);
+extern ypresp_all *ypproc_all_2_svc (ypreq_nokey *, struct svc_req *);
#define YPPROC_MASTER 9
-extern ypresp_master *ypproc_master_2 __P ((ypreq_nokey *, CLIENT *));
-extern ypresp_master *ypproc_master_2_svc __P ((ypreq_nokey *, struct svc_req *));
+extern ypresp_master *ypproc_master_2 (ypreq_nokey *, CLIENT *);
+extern ypresp_master *ypproc_master_2_svc (ypreq_nokey *, struct svc_req *);
#define YPPROC_ORDER 10
-extern ypresp_order *ypproc_order_2 __P ((ypreq_nokey *, CLIENT *));
-extern ypresp_order *ypproc_order_2_svc __P ((ypreq_nokey *, struct svc_req *));
+extern ypresp_order *ypproc_order_2 (ypreq_nokey *, CLIENT *);
+extern ypresp_order *ypproc_order_2_svc (ypreq_nokey *, struct svc_req *);
#define YPPROC_MAPLIST 11
-extern ypresp_maplist *ypproc_maplist_2 __P ((domainname *, CLIENT *));
-extern ypresp_maplist *ypproc_maplist_2_svc __P ((domainname *, struct svc_req *));
-extern int ypprog_2_freeresult __P ((SVCXPRT *, xdrproc_t, caddr_t));
+extern ypresp_maplist *ypproc_maplist_2 (domainname *, CLIENT *);
+extern ypresp_maplist *ypproc_maplist_2_svc (domainname *, struct svc_req *);
+extern int ypprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
#define YPPUSH_XFRRESPPROG (0x40000000)
#define YPPUSH_XFRRESPVERS 1
#define YPPUSHPROC_NULL 0
-extern void *yppushproc_null_1 __P ((void *, CLIENT *));
-extern void *yppushproc_null_1_svc __P ((void *, struct svc_req *));
+extern void *yppushproc_null_1 (void *, CLIENT *);
+extern void *yppushproc_null_1_svc (void *, struct svc_req *);
#define YPPUSHPROC_XFRRESP 1
-extern void *yppushproc_xfrresp_1 __P ((yppushresp_xfr *, CLIENT *));
-extern void *yppushproc_xfrresp_1_svc __P ((yppushresp_xfr *, struct svc_req *));
-extern int yppush_xfrrespprog_1_freeresult __P ((SVCXPRT *, xdrproc_t, caddr_t));
+extern void *yppushproc_xfrresp_1 (yppushresp_xfr *, CLIENT *);
+extern void *yppushproc_xfrresp_1_svc (yppushresp_xfr *, struct svc_req *);
+extern int yppush_xfrrespprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
#define YPBINDPROG 100007
#define YPBINDVERS 2
#define YPBINDPROC_NULL 0
-extern void *ypbindproc_null_2 __P ((void *, CLIENT *));
-extern void *ypbindproc_null_2_svc __P ((void *, struct svc_req *));
+extern void *ypbindproc_null_2 (void *, CLIENT *);
+extern void *ypbindproc_null_2_svc (void *, struct svc_req *);
#define YPBINDPROC_DOMAIN 1
-extern ypbind_resp *ypbindproc_domain_2 __P ((domainname *, CLIENT *));
-extern ypbind_resp *ypbindproc_domain_2_svc __P ((domainname *, struct svc_req *));
+extern ypbind_resp *ypbindproc_domain_2 (domainname *, CLIENT *);
+extern ypbind_resp *ypbindproc_domain_2_svc (domainname *, struct svc_req *);
#define YPBINDPROC_SETDOM 2
-extern void *ypbindproc_setdom_2 __P ((ypbind_setdom *, CLIENT *));
-extern void *ypbindproc_setdom_2_svc __P ((ypbind_setdom *, struct svc_req *));
-extern int ypbindprog_2_freeresult __P ((SVCXPRT *, xdrproc_t, caddr_t));
-
-
-extern bool_t xdr_ypstat __P ((XDR *, ypstat*));
-extern bool_t xdr_ypxfrstat __P ((XDR *, ypxfrstat*));
-extern bool_t xdr_domainname __P ((XDR *, domainname*));
-extern bool_t xdr_mapname __P ((XDR *, mapname*));
-extern bool_t xdr_peername __P ((XDR *, peername*));
-extern bool_t xdr_keydat __P ((XDR *, keydat*));
-extern bool_t xdr_valdat __P ((XDR *, valdat*));
-extern bool_t xdr_ypmap_parms __P ((XDR *, ypmap_parms*));
-extern bool_t xdr_ypreq_key __P ((XDR *, ypreq_key*));
-extern bool_t xdr_ypreq_nokey __P ((XDR *, ypreq_nokey*));
-extern bool_t xdr_ypreq_xfr __P ((XDR *, ypreq_xfr*));
-extern bool_t xdr_ypresp_val __P ((XDR *, ypresp_val*));
-extern bool_t xdr_ypresp_key_val __P ((XDR *, ypresp_key_val*));
-extern bool_t xdr_ypresp_master __P ((XDR *, ypresp_master*));
-extern bool_t xdr_ypresp_order __P ((XDR *, ypresp_order*));
-extern bool_t xdr_ypresp_all __P ((XDR *, ypresp_all*));
-extern bool_t xdr_ypresp_xfr __P ((XDR *, ypresp_xfr*));
-extern bool_t xdr_ypmaplist __P ((XDR *, ypmaplist*));
-extern bool_t xdr_ypresp_maplist __P ((XDR *, ypresp_maplist*));
-extern bool_t xdr_yppush_status __P ((XDR *, yppush_status*));
-extern bool_t xdr_yppushresp_xfr __P ((XDR *, yppushresp_xfr*));
-extern bool_t xdr_ypbind_resptype __P ((XDR *, ypbind_resptype*));
-extern bool_t xdr_ypbind_binding __P ((XDR *, ypbind_binding*));
-extern bool_t xdr_ypbind_resp __P ((XDR *, ypbind_resp*));
-extern bool_t xdr_ypbind_setdom __P ((XDR *, ypbind_setdom*));
+extern void *ypbindproc_setdom_2 (ypbind_setdom *, CLIENT *);
+extern void *ypbindproc_setdom_2_svc (ypbind_setdom *, struct svc_req *);
+extern int ypbindprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
+
+
+extern bool_t xdr_ypstat (XDR *, ypstat*);
+extern bool_t xdr_ypxfrstat (XDR *, ypxfrstat*);
+extern bool_t xdr_domainname (XDR *, domainname*);
+extern bool_t xdr_mapname (XDR *, mapname*);
+extern bool_t xdr_peername (XDR *, peername*);
+extern bool_t xdr_keydat (XDR *, keydat*);
+extern bool_t xdr_valdat (XDR *, valdat*);
+extern bool_t xdr_ypmap_parms (XDR *, ypmap_parms*);
+extern bool_t xdr_ypreq_key (XDR *, ypreq_key*);
+extern bool_t xdr_ypreq_nokey (XDR *, ypreq_nokey*);
+extern bool_t xdr_ypreq_xfr (XDR *, ypreq_xfr*);
+extern bool_t xdr_ypresp_val (XDR *, ypresp_val*);
+extern bool_t xdr_ypresp_key_val (XDR *, ypresp_key_val*);
+extern bool_t xdr_ypresp_master (XDR *, ypresp_master*);
+extern bool_t xdr_ypresp_order (XDR *, ypresp_order*);
+extern bool_t xdr_ypresp_all (XDR *, ypresp_all*);
+extern bool_t xdr_ypresp_xfr (XDR *, ypresp_xfr*);
+extern bool_t xdr_ypmaplist (XDR *, ypmaplist*);
+extern bool_t xdr_ypresp_maplist (XDR *, ypresp_maplist*);
+extern bool_t xdr_yppush_status (XDR *, yppush_status*);
+extern bool_t xdr_yppushresp_xfr (XDR *, yppushresp_xfr*);
+extern bool_t xdr_ypbind_resptype (XDR *, ypbind_resptype*);
+extern bool_t xdr_ypbind_binding (XDR *, ypbind_binding*);
+extern bool_t xdr_ypbind_resp (XDR *, ypbind_resp*);
+extern bool_t xdr_ypbind_setdom (XDR *, ypbind_setdom*);
__END_DECLS
diff --git a/nis/rpcsvc/yp_prot.h b/nis/rpcsvc/yp_prot.h
index 158a9c1..ae0db36 100644
--- a/nis/rpcsvc/yp_prot.h
+++ b/nis/rpcsvc/yp_prot.h
@@ -342,24 +342,24 @@ struct ypresp_all {
} ypresp_all_u;
};
-extern bool_t xdr_ypreq_key __P ((XDR *__xdrs, struct ypreq_key * __objp));
-extern bool_t xdr_ypreq_nokey __P ((XDR *__xdrs, struct ypreq_nokey * __objp));
-extern bool_t xdr_ypreq_xfr __P ((XDR *__xdrs, struct ypreq_xfr * __objp));
-extern bool_t xdr_ypresp_val __P ((XDR *__xdrs, struct ypresp_val * __objp));
-extern bool_t xdr_ypresp_key_val __P ((XDR *__xdrs, struct ypresp_key_val * __objp));
-extern bool_t xdr_ypbind_resp __P ((XDR *__xdrs, struct ypbind_resp * __objp));
-extern bool_t xdr_ypbind_setdom __P ((XDR *__xdrs, struct ypbind_setdom * __objp));
-extern bool_t xdr_ypmap_parms __P ((XDR *__xdrs, struct ypmap_parms * __objp));
-extern bool_t xdr_yppushresp_xfr __P ((XDR *__xdrs, struct yppushresp_xfr * __objp));
-extern bool_t xdr_ypresp_order __P ((XDR *__xdrs, struct ypresp_order * __objp));
-extern bool_t xdr_ypresp_master __P ((XDR *__xdrs, struct ypresp_master * __objp));
-extern bool_t xdr_ypall __P ((XDR *__xdrs, struct ypall_callback * __objp));
-extern bool_t xdr_ypresp_maplist __P ((XDR *__xdrs, struct ypresp_maplist * __objp));
-extern bool_t xdr_ypbind_binding __P ((XDR *__xdrs, struct ypbind_binding * __objp));
-extern bool_t xdr_ypbind_resptype __P ((XDR *__xdrs, enum ypbind_resptype * __objp));
-extern bool_t xdr_ypstat __P ((XDR *__xdrs, enum ypbind_resptype * __objp));
-extern bool_t xdr_ypresp_all __P ((XDR *__xdrs, struct ypresp_all * __objp));
-extern bool_t xdr_domainname __P ((XDR *__xdrs, char ** __objp));
+extern bool_t xdr_ypreq_key (XDR *__xdrs, struct ypreq_key * __objp);
+extern bool_t xdr_ypreq_nokey (XDR *__xdrs, struct ypreq_nokey * __objp);
+extern bool_t xdr_ypreq_xfr (XDR *__xdrs, struct ypreq_xfr * __objp);
+extern bool_t xdr_ypresp_val (XDR *__xdrs, struct ypresp_val * __objp);
+extern bool_t xdr_ypresp_key_val (XDR *__xdrs, struct ypresp_key_val * __objp);
+extern bool_t xdr_ypbind_resp (XDR *__xdrs, struct ypbind_resp * __objp);
+extern bool_t xdr_ypbind_setdom (XDR *__xdrs, struct ypbind_setdom * __objp);
+extern bool_t xdr_ypmap_parms (XDR *__xdrs, struct ypmap_parms * __objp);
+extern bool_t xdr_yppushresp_xfr (XDR *__xdrs, struct yppushresp_xfr * __objp);
+extern bool_t xdr_ypresp_order (XDR *__xdrs, struct ypresp_order * __objp);
+extern bool_t xdr_ypresp_master (XDR *__xdrs, struct ypresp_master * __objp);
+extern bool_t xdr_ypall (XDR *__xdrs, struct ypall_callback * __objp);
+extern bool_t xdr_ypresp_maplist (XDR *__xdrs, struct ypresp_maplist * __objp);
+extern bool_t xdr_ypbind_binding (XDR *__xdrs, struct ypbind_binding * __objp);
+extern bool_t xdr_ypbind_resptype (XDR *__xdrs, enum ypbind_resptype * __objp);
+extern bool_t xdr_ypstat (XDR *__xdrs, enum ypbind_resptype * __objp);
+extern bool_t xdr_ypresp_all (XDR *__xdrs, struct ypresp_all * __objp);
+extern bool_t xdr_domainname (XDR *__xdrs, char ** __objp);
__END_DECLS
diff --git a/nis/rpcsvc/ypupd.h b/nis/rpcsvc/ypupd.h
index 5b17b62..40e8b75 100644
--- a/nis/rpcsvc/ypupd.h
+++ b/nis/rpcsvc/ypupd.h
@@ -50,7 +50,7 @@ typedef struct {
char *yp_buf_val;
} yp_buf;
-extern bool_t xdr_yp_buf __P ((XDR *, yp_buf*));
+extern bool_t xdr_yp_buf (XDR *, yp_buf*);
struct ypupdate_args {
char *mapname;
@@ -59,7 +59,7 @@ struct ypupdate_args {
};
typedef struct ypupdate_args ypupdate_args;
-extern bool_t xdr_ypupdate_args __P ((XDR *, ypupdate_args*));
+extern bool_t xdr_ypupdate_args (XDR *, ypupdate_args*);
struct ypdelete_args {
char *mapname;
@@ -67,23 +67,23 @@ struct ypdelete_args {
};
typedef struct ypdelete_args ypdelete_args;
-extern bool_t xdr_ypdelete_args __P ((XDR *, ypdelete_args*));
+extern bool_t xdr_ypdelete_args (XDR *, ypdelete_args*);
#define YPU_PROG 100028
#define YPU_VERS 1
#define YPU_CHANGE 1
-extern u_int * ypu_change_1 __P ((ypupdate_args *, CLIENT *));
+extern u_int * ypu_change_1 (ypupdate_args *, CLIENT *);
extern u_int * ypu_change_1_svc __P((ypupdate_args *, struct svc_req *));
#define YPU_INSERT 2
-extern u_int * ypu_insert_1 __P ((ypupdate_args *, CLIENT *));
-extern u_int * ypu_insert_1_svc __P ((ypupdate_args *, struct svc_req *));
+extern u_int * ypu_insert_1 (ypupdate_args *, CLIENT *);
+extern u_int * ypu_insert_1_svc (ypupdate_args *, struct svc_req *);
#define YPU_DELETE 3
-extern u_int * ypu_delete_1 __P ((ypdelete_args *, CLIENT *));
-extern u_int * ypu_delete_1_svc __P ((ypdelete_args *, struct svc_req *));
+extern u_int * ypu_delete_1 (ypdelete_args *, CLIENT *);
+extern u_int * ypu_delete_1_svc (ypdelete_args *, struct svc_req *);
#define YPU_STORE 4
-extern u_int * ypu_store_1 __P ((ypupdate_args *, CLIENT *));
-extern u_int * ypu_store_1_svc __P ((ypupdate_args *, struct svc_req *));
+extern u_int * ypu_store_1 (ypupdate_args *, CLIENT *);
+extern u_int * ypu_store_1_svc (ypupdate_args *, struct svc_req *);
__END_DECLS
diff --git a/sunrpc/proto.h b/sunrpc/proto.h
index 30ef188..3e1ecd1 100644
--- a/sunrpc/proto.h
+++ b/sunrpc/proto.h
@@ -45,8 +45,8 @@ void write_tables(void);
/****** rpc_util.c ******/
void reinitialize(void);
int streq(const char *a, const char *b);
-void error(const char *msg);
-void crash(void);
+void error(const char *msg) __attribute__ ((noreturn));
+void crash(void) __attribute__ ((noreturn));
void tabify(FILE *f, int tab);
char *make_argname(const char *pname, const char *vname);
void add_type(int len, const char *type);
diff --git a/sunrpc/rpc_main.c b/sunrpc/rpc_main.c
index b780bdb..d43b69d 100644
--- a/sunrpc/rpc_main.c
+++ b/sunrpc/rpc_main.c
@@ -134,8 +134,8 @@ static void addarg (const char *cp);
static void putarg (int whereto, const char *cp);
static void checkfiles (const char *infile, const char *outfile);
static int parseargs (int argc, const char *argv[], struct commandline *cmd);
-static void usage (void);
-static void options_usage (void);
+static void usage (void) __attribute__ ((noreturn));
+static void options_usage (void) __attribute__ ((noreturn));
static void c_initialize (void);
static char *generate_guard (const char *pathname);
@@ -180,6 +180,7 @@ xdrfunc *xdrfunc_head = NULL; /* xdr function list */
xdrfunc *xdrfunc_tail = NULL; /* xdr function list */
int
+__attribute__ ((noreturn))
main (int argc, const char *argv[])
{
struct commandline cmd;
diff --git a/sunrpc/rpc_scan.h b/sunrpc/rpc_scan.h
index 9a4383d..2f0d586 100644
--- a/sunrpc/rpc_scan.h
+++ b/sunrpc/rpc_scan.h
@@ -99,7 +99,8 @@ void scan_num(token *tokp);
void peek(token *tokp);
int peekscan(tok_kind expect, token *tokp);
void get_token(token *tokp);
-void expected1(tok_kind exp1);
-void expected2(tok_kind exp1, tok_kind exp2);
-void expected3(tok_kind exp1, tok_kind exp2, tok_kind exp3);
+void expected1(tok_kind exp1) __attribute__ ((noreturn));
+void expected2(tok_kind exp1, tok_kind exp2) __attribute__ ((noreturn));
+void expected3(tok_kind exp1, tok_kind exp2, tok_kind exp3)
+ __attribute__ ((noreturn));
diff --git a/sunrpc/rpcinfo.c b/sunrpc/rpcinfo.c
index 07d7a6a..7f99664 100644
--- a/sunrpc/rpcinfo.c
+++ b/sunrpc/rpcinfo.c
@@ -68,7 +68,7 @@ static void tcpping (u_short portflag, int argc, char **argv);
static int pstatus (CLIENT *client, u_long prognum, u_long vers);
static void pmapdump (int argc, char **argv);
static bool_t reply_proc (void *res, struct sockaddr_in *who);
-static void brdcst (int argc, char **argv);
+static void brdcst (int argc, char **argv) __attribute__ ((noreturn));
static void deletereg (int argc, char **argv);
static void usage (void);
static u_long getprognum (char *arg);