bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #64259] Regression in master: make ignores statements it should not


From: Dmitry Goncharov
Subject: [bug #64259] Regression in master: make ignores statements it should not ignore.
Date: Sat, 27 May 2023 11:44:30 -0400 (EDT)

Follow-up Comment #1, bug #64259 (project make):

Commit 07fcee35f058a876447c8a021f9eb1943f902534 introduced a regression.

The text in NEWS clarifies that the idea was to never consider a line starting
with the recipe prefix as a conditional, to ensure make does not confuse
recipe lines with conditionals as described in sv 64185.

However, there are cases where the fix 
1. Still considers lines starting with the recipe prefix as conditionals.
2. Ignores lines which it should not ignore.

In this makefile both 'ifdef blah' and 'else' are intended with tabs.


$ ls
makefile
$ cat makefile 
        ifdef blah
$(info true)
        else
$(info false)
endif
all:
$ make-4.4
false
make-4.4: Nothing to be done for 'all'.
$ # this is the latest make from master
$ ~/src/gmake/make/m64/make 
make: Nothing to be done for 'all'.


We can see the latest make
1. honored 'ifdef blah', even though it is intended with a tab.
2. failed to run '$(info false)'.

The patch in the attachment causes make to fail with a syntax error here.
The patch keeps NEWS intact.


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?64259>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]