summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToomas Soome <tsoome@me.com>2018-03-10 22:17:18 -0800
committerJoshua M. Clulow <josh@sysmgr.org>2018-03-10 22:17:18 -0800
commitb2be350e700b2900626f0977c47dddefdf617cfd (patch)
tree3c6f836a1c20f3ce7facf08ce31784ec7f0ecb3b
parenteea675a170a637d45397e62f4efc44be56b572a3 (diff)
downloadillumos-joyent-b2be350e700b2900626f0977c47dddefdf617cfd.tar.gz
9216 awk: this statement may fall through
Reviewed by: Andy Fiddaman <omnios@citrus-it.co.uk> Reviewed by: Jason King <jason.brian.king@gmail.com> Reviewed by: C Fraire <cfraire@me.com> Approved by: Joshua M. Clulow <josh@sysmgr.org>
-rw-r--r--usr/src/cmd/awk/b.c3
-rw-r--r--usr/src/cmd/awk_xpg4/awk.h6
-rw-r--r--usr/src/cmd/awk_xpg4/awk1.c16
-rw-r--r--usr/src/cmd/awk_xpg4/awk3.c9
-rw-r--r--usr/src/cmd/awk_xpg4/awk4.c5
5 files changed, 17 insertions, 22 deletions
diff --git a/usr/src/cmd/awk/b.c b/usr/src/cmd/awk/b.c
index e1bed57ab1..9caee4e9d3 100644
--- a/usr/src/cmd/awk/b.c
+++ b/usr/src/cmd/awk/b.c
@@ -28,8 +28,6 @@
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#define DEBUG
#include "awk.h"
@@ -639,6 +637,7 @@ primary(void)
ERROR "syntax error in regular expression %s at %s",
lastre, prestr FATAL;
}
+ /* FALLTHROUGH */
default:
ERROR "illegal primary in regular expression %s at %s",
lastre, prestr FATAL;
diff --git a/usr/src/cmd/awk_xpg4/awk.h b/usr/src/cmd/awk_xpg4/awk.h
index 91e07c884c..595a2a029f 100644
--- a/usr/src/cmd/awk_xpg4/awk.h
+++ b/usr/src/cmd/awk_xpg4/awk.h
@@ -34,8 +34,6 @@
*
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <stdio.h>
#include <ctype.h>
#include <string.h>
@@ -275,7 +273,7 @@ int yyparse(void);
#pragma aux awkperr aborts;
#endif
void yyerror(char *msg, ...);
-void awkerr(char *fmt, ...);
+void awkerr(char *fmt, ...) __NORETURN;
void awkperr(char *fmt, ...);
void uexit(NODE *);
int yylex(void);
@@ -286,7 +284,7 @@ wchar_t *erealloc(wchar_t *, unsigned);
/* Global functions -- awk2.c */
void awk(void);
void dobegin(void);
-void doend(int status);
+void doend(int status) __NORETURN;
int nextrecord(wchar_t *buf, FILE *fp);
wchar_t *defrecord(wchar_t *bp, int lim, FILE *fp);
wchar_t *charrecord(wchar_t *bp, int lim, FILE *fp);
diff --git a/usr/src/cmd/awk_xpg4/awk1.c b/usr/src/cmd/awk_xpg4/awk1.c
index 0d54ebde58..bed7998fbb 100644
--- a/usr/src/cmd/awk_xpg4/awk1.c
+++ b/usr/src/cmd/awk_xpg4/awk1.c
@@ -67,7 +67,7 @@ static void awkvarinit(void);
static wint_t lexgetc(void);
static void lexungetc(wint_t c);
static size_t lexescape(wint_t endc, int regx, int cmd_line_operand);
-static void awkierr(int perr, char *fmt, va_list ap);
+static void awkierr(int perr, char *fmt, va_list ap) __NORETURN;
static int usage(void);
void strescape(wchar_t *str);
static const char *toprint(wint_t);
@@ -544,7 +544,7 @@ yylex()
c = ';';
break;
}
- /*FALLTHRU*/
+ /* FALLTHROUGH */
case AND:
case OR:
case COMMA:
@@ -557,6 +557,7 @@ yylex()
case '}':
if (nbrace != 0)
continue;
+ /* FALLTHROUGH */
default:
c = ';';
@@ -678,7 +679,7 @@ yylex()
if (!catterm || lexlast != CONSTANT || wasfield)
break;
- /*FALLTHRU*/
+ /* FALLTHROUGH */
case UFUNC:
case FUNC:
case GETLINE:
@@ -695,10 +696,10 @@ yylex()
case '}':
if (nbrace == 0)
savetoken = ';';
- /*FALLTHRU*/
+ /* FALLTHROUGH */
case ';':
inprint = 0;
- /*FALLTHRU*/
+ /* FALLTHROUGH */
default:
if (c == DEFFUNC)
isfuncdef = 1;
@@ -795,6 +796,7 @@ lexid(wint_t c)
case PRINT:
case PRINTF:
++inprint;
+ /* FALLTHROUGH */
default:
return ((int)np->n_keywtype);
}
@@ -831,7 +833,7 @@ do_funparm:
needsplit = 1;
} else if (np == varENVIRON)
needenviron = 1;
- /*FALLTHRU*/
+ /* FALLTHROUGH */
case PARM:
return (VAR);
@@ -840,7 +842,7 @@ do_funparm:
* It is ok to redefine functions as parameters
*/
if (funparm) goto do_funparm;
- /*FALLTHRU*/
+ /* FALLTHROUGH */
case FUNC:
case GETLINE:
/*
diff --git a/usr/src/cmd/awk_xpg4/awk3.c b/usr/src/cmd/awk_xpg4/awk3.c
index 584a54e561..ca72a82ab0 100644
--- a/usr/src/cmd/awk_xpg4/awk3.c
+++ b/usr/src/cmd/awk_xpg4/awk3.c
@@ -29,8 +29,6 @@
* Based on MKS awk(1) ported to be /usr/xpg4/bin/awk with POSIX/XCU4 changes
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include "awk.h"
#include "y.tab.h"
@@ -250,7 +248,7 @@ top:
switch (left->n_type) {
case INDEX:
left = exprreduce(left);
- /*FALLTHRU*/
+ /* FALLTHROUGH */
case VAR:
return (nassign(left, right));
@@ -701,7 +699,7 @@ action(NODE *wp)
case NEXT:
loopexit = NEXT;
- /*FALLTHRU*/
+ /* FALLTHROUGH */
case BREAK:
case CONTINUE:
return (np->n_type);
@@ -748,6 +746,7 @@ action(NODE *wp)
if (isstring(l->n_flags) &&
l->n_string == _null)
break;
+ /* FALLTHROUGH */
default:
awkerr(gettext(
"may delete only array element or array"));
@@ -1224,11 +1223,9 @@ do_asn_op:
case ARRAY:
awkerr(badarray, np->n_name);
- /*FALLTHRU*/
case UFUNC:
awkerr(varnotfunc, np->n_name);
- /*FALLTHRU*/
default:
awkerr(gettext("panic: exprreduce(%d)"), t);
/* NOTREACHED */
diff --git a/usr/src/cmd/awk_xpg4/awk4.c b/usr/src/cmd/awk_xpg4/awk4.c
index 96c168bbf1..96ec3d26ec 100644
--- a/usr/src/cmd/awk_xpg4/awk4.c
+++ b/usr/src/cmd/awk_xpg4/awk4.c
@@ -30,8 +30,6 @@
* Based on MKS awk(1) ported to be /usr/xpg4/bin/awk with POSIX/XCU4 changes
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include "awk.h"
#include "y.tab.h"
#include <time.h>
@@ -386,10 +384,11 @@ f_split(NODE *np)
case VAR:
if (isstring(tnp->n_flags) && tnp->n_string==_null)
break;
+ /* FALLTHROUGH */
+
default:
awkerr(gettext(
"second parameter to \"split\" must be an array"));
- /*NOTREACHED*/
}
/*
* If an argument has been passed in to be used as the