Re: secondary expansion changes

Boris Kolpackov <[email protected]>
Newsgroups gmane.comp.gnu.make.devel
Organization Code Synthesis Tools CC
Message-ID <[email protected]>
Hi Paul,

Paul D. Smith <[email protected]> writes:

> Is that the only thing you found so far, or just something that causes 
> you to not be able to do more testing?

This prevented me from doing further testing thought the rest looks
ok, at least on the surface (i.e., the code base just keeps rebuilding
and fails at the link stage because a directory is passed as an argument
to the linker). I haven't run it under valgrind nor measured time yet. 
Once you commit the fix, I will continue testing.


> Since this is obviously a regression and it wasn't caught by the current
> suite, it would be nicer for me if the example could be provided as a
> new regression test, or at least easily transferred into that format,
> since we certainly want to add a test for it.

Well, that test is a direct reproduction of what happens in my build
system. An equivalent directory-independent makefile for the first
problem would be:

.SECONDEXPANSION:

%.so: | $$(extra)
	@echo $^

foo.so: extra := foo.o
foo.so:
foo.o:

It should print an empty line and currently prints 'foo.o'. It is
harder to come up with something similar for the second problem
since it depends on the directory being changed by another rule.
But I think both problems are manifestations of the same bug so
perhaps the above test is sufficient.

Boris

-- 
Boris Kolpackov, Code Synthesis Tools  http://codesynthesis.com/~boris/blog
Open-source XML data binding for C++:  http://codesynthesis.com/products/xsd
XML data binding for embedded systems: http://codesynthesis.com/products/xsde
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.