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

The crash happens when update_file() gets called with the "proj1.c" target.
It seems that expand_deps() was newer called on the "proj1.c" target

The problem seems to lie inside snap_deps() in the loop that expands target
dependencies, using expand_deps(). The problem is that snap_deps() only
iterates through targets known in advance, and since the "proj1.c" target gets
born when expand_deps() on "proj1.exe" is called, this target is newer
expanded.

A possible solution to this problem is to continue iterating through all
targets until we are sure that all targets have had their dependencies
expanded. I've attached a patch that fixes the problem using this approach.


(file #16718)
    _______________________________________________________

Additional Item Attachment:

File name: fix24622.patch                 Size:3 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?24622>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/



_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to