aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--miscutils/make.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/miscutils/make.c b/miscutils/make.c
index 7d2196139..c9f8cc506 100644
--- a/miscutils/make.c
+++ b/miscutils/make.c
@@ -656,7 +656,10 @@ set_pragma(const char *name)
656 if (idx >= BIT_POSIX_2017) { 656 if (idx >= BIT_POSIX_2017) {
657 // POSIX level is stored in a separate variable. 657 // POSIX level is stored in a separate variable.
658 // No bits in 'pragma' are used. 658 // No bits in 'pragma' are used.
659 posix_level = idx - BIT_POSIX_2017; 659 if (posix_level == DEFAULT_POSIX_LEVEL)
660 posix_level = idx - BIT_POSIX_2017;
661 else if (posix_level != idx - BIT_POSIX_2017)
662 warning("unable to change POSIX level");
660 } else { 663 } else {
661 pragma |= 1 << idx; 664 pragma |= 1 << idx;
662 } 665 }
@@ -693,10 +696,6 @@ addrule(struct name *np, struct depend *dp, struct cmd *cp, int flag)
693 if ((np->n_flag & N_SPECIAL) && !dp && !cp) { 696 if ((np->n_flag & N_SPECIAL) && !dp && !cp) {
694 if (strcmp(np->n_name, ".PHONY") == 0) 697 if (strcmp(np->n_name, ".PHONY") == 0)
695 return; 698 return;
696#if ENABLE_FEATURE_MAKE_POSIX
697 if (strcmp(np->n_name, ".PRAGMA") == 0)
698 pragma = 0;
699#endif
700 freerules(np->n_rule); 699 freerules(np->n_rule);
701 np->n_rule = NULL; 700 np->n_rule = NULL;
702 return; 701 return;