diff options
-rw-r--r-- | miscutils/make.c | 9 |
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; |