Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PATCH: Allow parallel make



On 8 Sep, Mikael Magnusson wrote:
> I won't commit this unless a lot of people says it works on various make
> implementations (I only have GNU Make), and please try it at different
> job counts. The newuser.c failure only happened to me with make -j3, not
> make -j10 for example. The others didn't happen and are purely by
> inspection.

In my testing, this is working for FreeBSD make, openBSD make and
Solaris' dmake.

However, there may be some extra rules still missing. On a fast system
with -j32, I get errors from one or .epro file that the opening #ifndef
is not terminated. Is probably using it before it has been created.
Tends to be an epro file from down in Src/Zle included from ksh93.mdh.

This does allow builds to be much faster so it would be great to have
this committed.

Unrelated to this change, I'm getting a build error on Solaris with the
native C compiler. It expects the two sides of the : in the ternary
operator to have the same type. The following fixes it but I'm not sure
it wouldn't be better to use if/else instead given that we don't want
the return value.

Oliver

diff --git a/Src/params.c b/Src/params.c
index 6210f973f..920027a2c 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -505,7 +505,7 @@ static initparam argvparam_pm = VAR_ARRPM("", &pparams, 0);
 			(PM)->gsu.s->getfn(PM) : (PM)->u.str)
 #define SETREFNAME(PM,S) (((PM)->node.flags & PM_SPECIAL) ?		\
 			  (PM)->gsu.s->setfn(PM,(S)) :			\
-			  (zsfree((PM)->u.str), (PM)->u.str = (S)))
+			  (void) (zsfree((PM)->u.str), (PM)->u.str = (S)))
 
 static Param argvparam;
 static Param *argnparams;




Messages sorted by: Reverse Date, Date, Thread, Author