=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/make/parse.c,v retrieving revision 1.130 retrieving revision 1.131 diff -u -r1.130 -r1.131 --- src/usr.bin/make/parse.c 2020/01/13 14:51:50 1.130 +++ src/usr.bin/make/parse.c 2020/01/26 12:37:47 1.131 @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.c,v 1.130 2020/01/13 14:51:50 espie Exp $ */ +/* $OpenBSD: parse.c,v 1.131 2020/01/26 12:37:47 espie Exp $ */ /* $NetBSD: parse.c,v 1.29 1997/03/10 21:20:04 christos Exp $ */ /* @@ -184,13 +184,13 @@ unsigned int special; unsigned int special_op; } specials[] = { - { P(NODE_EXEC), SPECIAL_EXEC, OP_EXEC }, + { P(NODE_EXEC), SPECIAL_DEPRECATED, OP_EXEC }, { P(NODE_IGNORE), SPECIAL_IGNORE, OP_IGNORE }, - { P(NODE_INCLUDES), SPECIAL_NOTHING, 0 }, - { P(NODE_INVISIBLE), SPECIAL_INVISIBLE, OP_INVISIBLE }, - { P(NODE_JOIN), SPECIAL_JOIN, OP_JOIN }, - { P(NODE_LIBS), SPECIAL_NOTHING, 0 }, - { P(NODE_MADE), SPECIAL_MADE, OP_MADE }, + { P(NODE_INCLUDES), SPECIAL_DEPRECATED, 0 }, + { P(NODE_INVISIBLE), SPECIAL_DEPRECATED, OP_INVISIBLE }, + { P(NODE_JOIN), SPECIAL_DEPRECATED, OP_JOIN }, + { P(NODE_LIBS), SPECIAL_DEPRECATED, 0 }, + { P(NODE_MADE), SPECIAL_DEPRECATED, OP_MADE }, { P(NODE_MAIN), SPECIAL_MAIN, 0 }, { P(NODE_MAKE), SPECIAL_MAKE, OP_MAKE }, { P(NODE_MAKEFLAGS), SPECIAL_MFLAGS, 0 }, @@ -198,7 +198,7 @@ { P(NODE_NOTMAIN), SPECIAL_NOTMAIN, OP_NOTMAIN }, { P(NODE_NOTPARALLEL), SPECIAL_NOTPARALLEL, 0 }, { P(NODE_NO_PARALLEL), SPECIAL_NOTPARALLEL, 0 }, - { P(NODE_NULL), SPECIAL_NOTHING, 0 }, + { P(NODE_NULL), SPECIAL_DEPRECATED, 0 }, { P(NODE_OPTIONAL), SPECIAL_OPTIONAL, OP_OPTIONAL }, { P(NODE_ORDER), SPECIAL_ORDER, 0 }, { P(NODE_PARALLEL), SPECIAL_PARALLEL, 0 }, @@ -418,6 +418,11 @@ const char *esrc) { GNode *gn = Targ_FindNodei(src, esrc, TARG_CREATE); + if (gn->special == SPECIAL_DEPRECATED) { + Parse_Error(PARSE_FATAL, "Deprecated keyword found %s\n", + gn->name); + return; + } if (gn->special_op) { Array_ForEach(targets, ParseDoSpecial, gn->special_op); return; @@ -702,6 +707,13 @@ for (i = 0; i < gtargets.n; i++) { type = gtargets.a[i]->special; + if (type == SPECIAL_DEPRECATED) { + Parse_Error(PARSE_FATAL, + "Deprecated keyword found %s\n", + gtargets.a[i]->name); + specType = SPECIAL_ERROR; + return 0; + } if (type == SPECIAL_PATH) { seen_path++; Lst_AtEnd(paths, find_suffix_path(gtargets.a[i]));