summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@kolpackov.net>2005-03-01 08:01:05 +0000
committerBoris Kolpackov <boris@kolpackov.net>2005-03-01 08:01:05 +0000
commit0759af440a1d721f0248b2ea83fe0ad8a1c19cfb (patch)
tree2eb951af15ca852b73c687299bd667c0cdcfa3aa
parenta2232470c27151ba0c1c37f3eba1e35396d7eabf (diff)
downloadgunmake-0759af440a1d721f0248b2ea83fe0ad8a1c19cfb.tar.gz
Fixed Savannah bug #12180.
-rw-r--r--ChangeLog5
-rw-r--r--read.c2
-rw-r--r--tests/ChangeLog5
-rw-r--r--tests/scripts/features/statipattrules16
4 files changed, 21 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index b9f4ad7..b0b25dc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Mar 1 10:12:20 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * read.c (record_files): Add a check for the list of prerequisites
+ of a static pattern rule being empty. Fixes Savannah bug #12180.
+
2005-02-28 Paul D. Smith <psmith@gnu.org>
* doc/make.texi (Text Functions): Update docs to allow the end
diff --git a/read.c b/read.c
index d235c6a..4103555 100644
--- a/read.c
+++ b/read.c
@@ -1915,7 +1915,7 @@ record_files (struct nameseq *filenames, char *pattern, char *pattern_percent,
the target pattern, the target's name and the dependencies'
patterns into plain dependency names. */
- if (find_percent (this->name) != 0)
+ if (this != 0 && find_percent (this->name) != 0)
{
PATH_VAR (stem);
char *o;
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 1979324..2c58900 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,8 @@
+Tue Mar 1 10:15:25 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * tests/scripts/features/statipattrules: Add a test for
+ Savannah bug #12180.
+
2005-02-28 Paul D. Smith <psmith@gnu.org>
* scripts/options/dash-q: Add a test for Savannah bug # 7144.
diff --git a/tests/scripts/features/statipattrules b/tests/scripts/features/statipattrules
index 29a7c08..7d35ec3 100644
--- a/tests/scripts/features/statipattrules
+++ b/tests/scripts/features/statipattrules
@@ -62,11 +62,15 @@ close(MAKEFILE);
$answer = "$makefile2:1: *** target `foo' leaves prerequisite pattern empty. Stop.\n";
&compare_output($answer, &get_logfile(1));
+# TEST #5 -- bug #12180: core dump on a stat pattern rule with an empty
+# prerequisite list.
+#
+run_make_test('
+foo.x bar.x: %.x : ; @echo $@
-1;
-
-
-
-
-
+',
+'',
+'foo.x
+');
+1;