mirror of
https://github.com/mirror/make.git
synced 2025-02-25 11:20:39 +08:00
Fix fat-finger bug that left implicit rules with identical stem lengths
being sorted indeterminately.
This commit is contained in:
parent
4e51b6d9a4
commit
76d2d2ca41
@ -1,3 +1,9 @@
|
|||||||
|
2009-10-25 Paul Smith <psmith@gnu.org>
|
||||||
|
|
||||||
|
* implicit.c (stemlen_compare): Fix qsort() compare bug that
|
||||||
|
caused implicit rules with equal stem lengths to be sorted
|
||||||
|
indeterminately.
|
||||||
|
|
||||||
2009-10-24 Paul Smith <psmith@gnu.org>
|
2009-10-24 Paul Smith <psmith@gnu.org>
|
||||||
|
|
||||||
* main.c (usage): Add --eval to the usage string.
|
* main.c (usage): Add --eval to the usage string.
|
||||||
|
16
NEWS
16
NEWS
@ -1,6 +1,6 @@
|
|||||||
GNU make NEWS -*-indented-text-*-
|
GNU make NEWS -*-indented-text-*-
|
||||||
History of user-visible changes.
|
History of user-visible changes.
|
||||||
12 Oct 2009
|
25 Oct 2009
|
||||||
|
|
||||||
See the end of this file for copyrights and conditions.
|
See the end of this file for copyrights and conditions.
|
||||||
|
|
||||||
@ -20,12 +20,14 @@ Version 3.81.90
|
|||||||
existing targets were provided in $?).
|
existing targets were provided in $?).
|
||||||
|
|
||||||
* WARNING: Backward-incompatibility!
|
* WARNING: Backward-incompatibility!
|
||||||
As a result of parser enhancements, two backward-compatibility issues exist:
|
As a result of parser enhancements, three backward-compatibility issues
|
||||||
first, a prerequisite containing an "=" cannot be escaped with a backslash
|
exist: first, a prerequisite containing an "=" cannot be escaped with a
|
||||||
any longer. You must create a variable containing an "=" and use that
|
backslash any longer. You must create a variable containing an "=" and use
|
||||||
variable in the prerequisite. Second, variable names can no longer contain
|
that variable in the prerequisite. Second, variable names can no longer
|
||||||
whitespace, unless you put the whitespace in a variable and use the
|
contain whitespace, unless you put the whitespace in a variable and use the
|
||||||
variable.
|
variable. Third, in previous versions of make it was sometimes not flagged
|
||||||
|
as an error for explicit and pattern targets to appear in the same rule.
|
||||||
|
Now this is always reported as an error.
|
||||||
|
|
||||||
* WARNING: Backward-incompatibility!
|
* WARNING: Backward-incompatibility!
|
||||||
The pattern-specific variables and pattern rules are now applied in the
|
The pattern-specific variables and pattern rules are now applied in the
|
||||||
|
@ -180,10 +180,10 @@ struct tryrule
|
|||||||
int
|
int
|
||||||
stemlen_compare (const void *v1, const void *v2)
|
stemlen_compare (const void *v1, const void *v2)
|
||||||
{
|
{
|
||||||
const struct tryrule *r1 = (const struct tryrule *)v1;
|
const struct tryrule *r1 = v1;
|
||||||
const struct tryrule *r2 = (const struct tryrule *)v2;
|
const struct tryrule *r2 = v2;
|
||||||
int r = r1->stemlen - r2->stemlen;
|
int r = r1->stemlen - r2->stemlen;
|
||||||
return r != 0 ? r : (int)(r1->order - r1->order);
|
return r != 0 ? r : (int)(r1->order - r2->order);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Search the pattern rules for a rule with an existing dependency to make
|
/* Search the pattern rules for a rule with an existing dependency to make
|
||||||
|
Loading…
Reference in New Issue
Block a user