The NetBSD Project

CVS log for src/usr.bin/make/lst.h

[BACK] Up to [cvs.NetBSD.org] / src / usr.bin / make

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.104 / (download) - annotate - [select for diffs], Fri Dec 29 20:43:58 2023 UTC (3 months, 2 weeks ago) by rillig
Branch: MAIN
CVS Tags: HEAD
Changes since 1.103: +1 -7 lines
Diff to previous 1.103 (colored) to selected 1.5 (colored)

make: unexport list memory management functions

They are only used in a single source file.

No functional change.

Revision 1.103 / (download) - annotate - [select for diffs], Thu Mar 3 19:55:27 2022 UTC (2 years, 1 month ago) by rillig
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10
Changes since 1.102: +3 -3 lines
Diff to previous 1.102 (colored) to selected 1.5 (colored)

make: improve comments and a parameter name

No binary change.

Revision 1.102 / (download) - annotate - [select for diffs], Wed Dec 15 12:24:13 2021 UTC (2 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.101: +5 -3 lines
Diff to previous 1.101 (colored) to selected 1.5 (colored)

make: use consistent indentation for statements and continuations

No binary change, except for line numbers in assertions in suff.c.

Revision 1.101 / (download) - annotate - [select for diffs], Wed Dec 15 12:08:25 2021 UTC (2 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.100: +2 -2 lines
Diff to previous 1.100 (colored) to selected 1.5 (colored)

make: remove redundant comments for multiple-inclusion guards

Revision 1.100 / (download) - annotate - [select for diffs], Wed Dec 15 09:53:41 2021 UTC (2 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.99: +6 -6 lines
Diff to previous 1.99 (colored) to selected 1.5 (colored)

make: mark several functions whose result must be used

Suggested by sjg, to catch more bugs like the memory leak in cond.c
1.303 from 2021-12-13.

No binary change.

Revision 1.99 / (download) - annotate - [select for diffs], Sun Dec 5 10:11:31 2021 UTC (2 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.98: +3 -3 lines
Diff to previous 1.98 (colored) to selected 1.5 (colored)

make: fix comments

Revision 1.98 / (download) - annotate - [select for diffs], Sat Apr 3 11:08:40 2021 UTC (3 years ago) by rillig
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.97: +2 -2 lines
Diff to previous 1.97 (colored) to selected 1.5 (colored)

make: use C99 bool type instead of defining its own

No functional change.

Revision 1.97 / (download) - annotate - [select for diffs], Mon Mar 15 16:06:05 2021 UTC (3 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.96: +6 -4 lines
Diff to previous 1.96 (colored) to selected 1.5 (colored)

make: indent inline functions for lists

No functional change.

Revision 1.96 / (download) - annotate - [select for diffs], Mon Feb 1 18:55:15 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.95: +1 -3 lines
Diff to previous 1.95 (colored) to selected 1.5 (colored)

make: remove unused Lst_Destroy

The code in job.c that seemed to use it is inside an '#if 0' block.

Revision 1.95 / (download) - annotate - [select for diffs], Sun Jan 3 21:12:03 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.94: +2 -6 lines
Diff to previous 1.94 (colored) to selected 1.5 (colored)

make(1): remove anonymous union from struct ListNode

Anonymous structs and unions have been introduced in C11.  The code of
make is supposed to be compatible with C90 though.

The additional members were intended to be used during an interactive
debugging session only and were thus not relevant to running the actual
code.

Revision 1.94 / (download) - annotate - [select for diffs], Wed Dec 30 10:03:16 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.93: +9 -5 lines
Diff to previous 1.93 (colored) to selected 1.5 (colored)

make(1): format multi-line comments

Revision 1.93 / (download) - annotate - [select for diffs], Sun Dec 13 20:57:17 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.92: +5 -5 lines
Diff to previous 1.92 (colored) to selected 1.5 (colored)

make(1): rename Vector.priv_cap to cap

There is no use case for accessing or even modifying the capacity of a
vector, therefore there is no need to hide it using the prefix "priv_".
This way, the member names are aligned between Buffer and Vector.

Revision 1.92 / (download) - annotate - [select for diffs], Fri Dec 4 20:11:48 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.91: +6 -2 lines
Diff to previous 1.91 (colored) to selected 1.5 (colored)

make(1): inline Lst_Enqueue

Revision 1.91 / (download) - annotate - [select for diffs], Fri Dec 4 20:08:07 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.90: +6 -2 lines
Diff to previous 1.90 (colored) to selected 1.5 (colored)

make(1): inline Vector_Done

Revision 1.90 / (download) - annotate - [select for diffs], Sat Nov 28 23:13:28 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.89: +3 -1 lines
Diff to previous 1.89 (colored) to selected 1.5 (colored)

make(1): reduce memory allocation in Arch_ParseArchive

Revision 1.89 / (download) - annotate - [select for diffs], Sat Nov 28 19:26:10 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.88: +3 -1 lines
Diff to previous 1.88 (colored) to selected 1.5 (colored)

make(1): reduce pointer indirection for archives

Revision 1.88 / (download) - annotate - [select for diffs], Sat Nov 28 18:55:52 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.87: +11 -1 lines
Diff to previous 1.87 (colored) to selected 1.5 (colored)

make(1): remove pointer indirection from GNode.commands

Just to save a few memory allocations.  No noticeable effect on the
performance though.

Revision 1.87 / (download) - annotate - [select for diffs], Fri Nov 27 08:07:26 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.86: +1 -11 lines
Diff to previous 1.86 (colored) to selected 1.5 (colored)

make(1): inline Lst_ForEachUntil in meta mode

This means no more unnecessary void pointers in function signatures and
no more abstraction level at checking a single element of a list.  In
most cases it is more appropriate to define a function that operates on
the list as a whole, thereby hiding implementation details like the
ListNode from the caller.

Revision 1.86 / (download) - annotate - [select for diffs], Tue Nov 24 19:46:29 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.85: +20 -19 lines
Diff to previous 1.85 (colored) to selected 1.5 (colored)

make(1): indent list functions with tabs instead of spaces

Revision 1.85 / (download) - annotate - [select for diffs], Tue Nov 10 00:32:12 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.84: +3 -3 lines
Diff to previous 1.84 (colored) to selected 1.5 (colored)

make(1): use consistent definition for MAKE_INLINE

Revision 1.84 / (download) - annotate - [select for diffs], Wed Oct 28 02:43:16 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.83: +11 -2 lines
Diff to previous 1.83 (colored) to selected 1.5 (colored)

make(1): inline Vector_Get

It is simple enough that it neither bloats the code nor warrants the
extra function call.

Revision 1.83 / (download) - annotate - [select for diffs], Sun Oct 25 13:31:16 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.82: +1 -4 lines
Diff to previous 1.82 (colored) to selected 1.5 (colored)

make(1): remove obsolete comment from lst.h

Revision 1.82 / (download) - annotate - [select for diffs], Sun Oct 25 13:06:12 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.81: +15 -14 lines
Diff to previous 1.81 (colored) to selected 1.5 (colored)

make(1): replace PtrVector with Vector, which can contain any type

Revision 1.81 / (download) - annotate - [select for diffs], Sun Oct 25 12:08:53 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.80: +10 -9 lines
Diff to previous 1.80 (colored) to selected 1.5 (colored)

make(1): rename type Vector to PtrVector

This allows the name Vector to be used for a more generic vector type,
which will be added soon.

Revision 1.80 / (download) - annotate - [select for diffs], Sun Oct 25 10:07:23 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.79: +1 -7 lines
Diff to previous 1.79 (colored) to selected 1.5 (colored)

make(1): inline Lst_Copy in Make_ExpandUse

Revision 1.79 / (download) - annotate - [select for diffs], Sat Oct 24 10:36:23 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.78: +1 -8 lines
Diff to previous 1.78 (colored) to selected 1.5 (colored)

make(1): remove unused Lst_Find and Lst_FindFrom

Revision 1.78 / (download) - annotate - [select for diffs], Fri Oct 23 04:58:33 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.77: +5 -8 lines
Diff to previous 1.77 (colored) to selected 1.5 (colored)

make(1): remove Lst_ForEachUntilConcurrent

The remaining callers of that function don't modify the list
structurally and thus can use the simpler Lst_ForEachUntil instead.

Revision 1.77 / (download) - annotate - [select for diffs], Thu Oct 22 21:27:24 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.76: +3 -2 lines
Diff to previous 1.76 (colored) to selected 1.5 (colored)

make(1): add Lst_ForEachUntilConcurrent

Previously, Lst_ForEachUntil allowed the list to be modified while
iterating.  Almost none of the code needs this, and it's also confusing
for human readers.

None of the current unit tests makes use of this concurrent modification
right now, but that's not evidence enough.  Only 72% of the code are
covered by unit tests right now, and there are lots of edge cases
(whether intended or not) that are not covered by unit tests.

Therefore, all calls to Lst_ForEachUntil were changed to
Lst_ForEachUntilConcurrent and those that were obvious were changed
back.  The remaining calls probably don't need the concurrent
modification code, but that's not obvious from looking at the code.

Revision 1.76 / (download) - annotate - [select for diffs], Thu Oct 22 20:18:20 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.75: +1 -19 lines
Diff to previous 1.75 (colored) to selected 1.5 (colored)

make(1): remove Lst_Open, Lst_Next, Lst_Close

These functions had made the Lst data type more complicated and hard to
understand than necessary.  This additional complexity was not needed in
the vast majority of the cases.

Revision 1.75 / (download) - annotate - [select for diffs], Wed Oct 21 07:14:22 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.74: +1 -3 lines
Diff to previous 1.74 (colored) to selected 1.5 (colored)

make(1): remove unused typedef LstActionProc

Revision 1.74 / (download) - annotate - [select for diffs], Mon Oct 19 21:57:37 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.73: +2 -10 lines
Diff to previous 1.73 (colored) to selected 1.5 (colored)

make(1): inline simple Lst getters

The function call variant takes more screen space than the direct field
access.  Having an abstract API is usually a good idea, in this case of
simple read-only member access it makes the code more difficult to read.

LstNode_Set has been kept as a function since it is not a read-only
accessor function.

Revision 1.73 / (download) - annotate - [select for diffs], Mon Oct 19 21:41:31 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.72: +1 -5 lines
Diff to previous 1.72 (colored) to selected 1.5 (colored)

make(1): remove unused Lst_ForEach

All of its uses have been inlined since iterating through a linked list
is trivial.  This avoids the cumbersome callback functions with void
pointer parameters, allowing the compiler to perform better type checks.

Revision 1.72 / (download) - annotate - [select for diffs], Sun Oct 18 17:19:54 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.71: +2 -2 lines
Diff to previous 1.71 (colored) to selected 1.5 (colored)

make(1): add tags to enum types

This allows IDEs to offer better type information than "anonymous enum".

Revision 1.71 / (download) - annotate - [select for diffs], Sun Oct 18 13:02:10 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.70: +2 -2 lines
Diff to previous 1.70 (colored) to selected 1.5 (colored)

make(1): rename Lst_Init to Lst_New

For the other types such as HashTable and Buffer, the Init function does
not allocate the memory for the structure itself, it only fills it.

Revision 1.70 / (download) - annotate - [select for diffs], Sun Oct 18 08:58:29 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.69: +9 -10 lines
Diff to previous 1.69 (colored) to selected 1.5 (colored)

make(1): rename Stack to Vector

Both Var_Dump and GetActuallyIncludingFile access more than only the top
item of the stack, therefore it is more honest to rename the data type.

Revision 1.69 / (download) - annotate - [select for diffs], Sat Sep 26 17:15:20 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.68: +3 -9 lines
Diff to previous 1.68 (colored) to selected 1.5 (colored)

make(1): inline and remove LstNode_Prev and LstNode_Next

These functions made the code larger than necessary.  The prev and next
fields are published intentionally since navigating in a doubly-linked
list is simple to do and there is no need to wrap this in a layer of
function calls, not even syntactically.  (On the execution level, the
function calls had been inlined anyway.)

Revision 1.68 / (download) - annotate - [select for diffs], Fri Sep 25 15:54:50 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored) to selected 1.5 (colored)

make(1): add tags to some of the unnamed structs

The tags prevent the structs from accidentally becoming compatible
types.

While here, remove a few typedefs for structs that are single-purpose,
since there is no point in abstracting from the actual representation of
these types.

Revision 1.67 / (download) - annotate - [select for diffs], Fri Sep 25 04:18:11 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.66: +2 -1 lines
Diff to previous 1.66 (colored) to selected 1.5 (colored)

make(1): fix build on Debian 9

lst.h:92:5: error: unknown type name 'uint8_t'

It had been broken since the previous commit on 2020-09-24 08:23:29.

Revision 1.66 / (download) - annotate - [select for diffs], Thu Sep 24 08:23:29 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.65: +45 -9 lines
Diff to previous 1.65 (colored) to selected 1.5 (colored)

make(1): make the API of the List partially public

Accessing the fields List.first, List.last, ListNode.prev, ListNode.next
and ListNode.datum in read-only mode should be more efficient than a
whole function call.

All modifications to the lists or their nodes must still happen via
function calls.

This change reduces the code size, makes the code faster to execute and
allows Lst_ForEach to be written inline without the visual overhead of
function calls.

Revision 1.65 / (download) - annotate - [select for diffs], Thu Sep 24 07:32:03 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.64: +7 -1 lines
Diff to previous 1.64 (colored) to selected 1.5 (colored)

make(1): move documentation for MakeAddAllSrc to its correct place

Revision 1.64 / (download) - annotate - [select for diffs], Thu Sep 24 07:11:29 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.63: +4 -4 lines
Diff to previous 1.63 (colored) to selected 1.5 (colored)

make(1): rename Lst_ForEach to Lst_ForEachUntil

Since the callback function returns a terminating condition, this is not
really a foreach loop.

Many of the calls to Lst_ForEachUntil don't make use of the terminating
condition, and several don't modify the list structurally, which means
they don't need this complicated implementation.

In a follow-up commit, Lst_ForEach will be added back with a much
simpler implementation that iterates over the list naively, without a
terminating condition and without taking the iteration state from
Lst_Open/Lst_Next/Lst_Close into account.  The migration to this simpler
implementation will be done step by step since each callback function
needs to be examined closely.

Revision 1.63 / (download) - annotate - [select for diffs], Thu Sep 24 06:45:59 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.62: +1 -4 lines
Diff to previous 1.62 (colored) to selected 1.5 (colored)

make(1): refactor add_wait_dep to not use Lst_ForEachFrom anymore

It was the last remaining use of that function outside of lst.c.

While here, clean up the code of add_wait_dep by removing unreachable
code (the GNode lists never contain NULL, only the GNode.commands lists
do that).

Revision 1.62 / (download) - annotate - [select for diffs], Tue Sep 22 04:05:41 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.61: +32 -32 lines
Diff to previous 1.61 (colored) to selected 1.5 (colored)

make(1): use fine-grained type names for lists and their nodes

This is only intended to help the human reader.  There is no additional
type safety yet.

Revision 1.61 / (download) - annotate - [select for diffs], Fri Sep 4 17:59:36 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.60: +15 -1 lines
Diff to previous 1.60 (colored) to selected 1.5 (colored)

make(1): use a stack instead of a list for the nested include path

By using a Stack instead of a Lst, the available API is reduced to the
very few functions that are really needed for a stack.  This prevents
accidental misuse (such as confusing Lst_Append with Lst_Prepend) and
clearly communicates what the expected behavior is.

A stack also needs fewer calls to bmake_malloc than an equally-sized
list, and the memory is contiguous.  For the nested include path, all
this doesn't matter, but the type is so generic that it may be used in
other places as well.

Revision 1.60 / (download) - annotate - [select for diffs], Wed Sep 2 23:33:13 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.59: +94 -92 lines
Diff to previous 1.59 (colored) to selected 1.5 (colored)

make(1): improve grouping of the Lst functions

Lst_IsEmpty does not belong in the "create and destroy" group, but in
"query information without modifying anything".

The functions named LstNode_* all belong together.  They do not provide
much abstraction, but still they restrict the API and hide a few struct
fields that are only used internally by Lst_Open/Lst_Close and
Lst_ForEach.

Use consistent wording in the documentation of the functions (list,
node, datum).

Revision 1.59 / (download) - annotate - [select for diffs], Sun Aug 30 11:15:05 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (colored) to selected 1.5 (colored)

make(1): rename Lst_Datum to LstNode_Datum

Revision 1.58 / (download) - annotate - [select for diffs], Sun Aug 30 11:12:06 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.57: +3 -6 lines
Diff to previous 1.57 (colored) to selected 1.5 (colored)

make(1): rename Lst_Memeber to Lst_FindDatum

The new name nicely aligns with Lst_Find and Lst_FindFrom.

Revision 1.57 / (download) - annotate - [select for diffs], Sat Aug 29 10:41:12 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored) to selected 1.5 (colored)

make(1): rename LstNode functions to match their type

Revision 1.56 / (download) - annotate - [select for diffs], Sat Aug 29 10:12:06 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.55: +4 -5 lines
Diff to previous 1.55 (colored) to selected 1.5 (colored)

make(1): rename Lst_FindB back to Lst_Find

The migration from "comparison function" to "match function" is done,
the "B" in the names is no longer needed.

Revision 1.55 / (download) - annotate - [select for diffs], Sat Aug 29 10:06:23 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.54: +1 -3 lines
Diff to previous 1.54 (colored) to selected 1.5 (colored)

make(1): migrate remaining Lst_Find to Lst_FindB

While here, rename SuffSuffIsSuffix to SuffSuffGetSuffix since a
function named "is" should return a boolean, not a string pointer.

Revision 1.54 / (download) - annotate - [select for diffs], Sat Aug 29 09:30:10 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.53: +4 -1 lines
Diff to previous 1.53 (colored) to selected 1.5 (colored)

make(1): start replacing Lst_Find with Lst_FindB

Lst_Find is called with a "comparison" function that returns the integer
0 if the desired node is found.  This leads to confusion since there are
so many different return value conventions for int, such as 0/1 for
mimicking false/true, -1/0 as in close(2), and the sign as in strcmp(3).
This API is much easier to understand if the "comparison" function is
not called a comparison function (since that is too close to strcmp),
but a "match" function that just returns a boolean.

In Lst_FindFromB, the node argument may be null.  This deviates from the
other Lst functions, which require Lst and LstNode to generally be
non-null.  In this case it is useful though to make the calling code
simpler.

In arch.c, this makes a lot of the previous documentation redundant.

In cond.c, the documentation is reduced a little bit since it had
already been cleaned up before.  It also removes the strange negation
from CondFindStrMatch.

In dir.c, the documentation collapses as well.

In main.c, separating the ReadMakefile function from the callbacks for
Lst_FindB allows the former to get back its natural function signature,
with proper types and no unused parameters.

To catch any accidental mistakes during the migration from Lst_Find to
Lst_FindB, the code can be compiled with -DUSE_DOUBLE_BOOLEAN, which
will complain about incompatible function pointer types.

Revision 1.53 / (download) - annotate - [select for diffs], Fri Aug 28 04:48:57 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.52: +29 -29 lines
Diff to previous 1.52 (colored) to selected 1.5 (colored)

make(1): remove trailing 'S' from names of Lst functions

The migration from null-passing Lst functions to argument-checking Lst
functions is completed.

There were 2 surprises: The targets list may be NULL, and in Dir_AddDir,
the path may be NULL.  The latter case is especially surprising since
that function turns into an almost-nop in that case.  This is another
case where probably 2 independent functions have been squeezed into a
single function.  This may be improved in a follow-up commit.

All other lists were fine.  They were always defined and thus didn't
need much work.

Revision 1.52 / (download) - annotate - [select for diffs], Fri Aug 28 04:28:45 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.51: +1 -3 lines
Diff to previous 1.51 (colored) to selected 1.5 (colored)

make(1): migrate Lst_Find to Lst_FindS

Revision 1.51 / (download) - annotate - [select for diffs], Fri Aug 28 04:16:57 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.50: +1 -2 lines
Diff to previous 1.50 (colored) to selected 1.5 (colored)

make(1): remove unused reference to Lst_Last

Revision 1.50 / (download) - annotate - [select for diffs], Fri Aug 28 04:14:31 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.49: +1 -2 lines
Diff to previous 1.49 (colored) to selected 1.5 (colored)

make(1): migrate Lst_First to Lst_FirstS

Revision 1.49 / (download) - annotate - [select for diffs], Thu Aug 27 19:15:35 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.48: +1 -2 lines
Diff to previous 1.48 (colored) to selected 1.5 (colored)

make(1): migrate Lst_IsEmpty to Lst_IsEmptyS

Revision 1.48 / (download) - annotate - [select for diffs], Thu Aug 27 07:00:29 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.47: +1 -2 lines
Diff to previous 1.47 (colored) to selected 1.5 (colored)

make(1): migrate Lst_Succ to Lst_SuccS

Revision 1.47 / (download) - annotate - [select for diffs], Thu Aug 27 06:53:57 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.46: +1 -3 lines
Diff to previous 1.46 (colored) to selected 1.5 (colored)

make(1): migrate Lst_ForEach to Lst_ForEachS

Most lists are always valid.  Only the "targets" variable may be null in
some cases, probably.

Revision 1.46 / (download) - annotate - [select for diffs], Thu Aug 27 06:28:44 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.45: +1 -2 lines
Diff to previous 1.45 (colored) to selected 1.5 (colored)

make(1): migrate remaining code from Lst_Open to Lst_OpenS

Revision 1.45 / (download) - annotate - [select for diffs], Wed Aug 26 23:00:47 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.44: +1 -3 lines
Diff to previous 1.44 (colored) to selected 1.5 (colored)

make(1): remove header sprite.h

Make is independent of the Sprite operating system.

Revision 1.44 / (download) - annotate - [select for diffs], Wed Aug 26 22:55:46 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.43: +12 -2 lines
Diff to previous 1.43 (colored) to selected 1.5 (colored)

make(1): add stricter variants for remaining Lst functions

In most cases the Lst functions are only called when the arguments are
indeed valid.  It's not guaranteed though, therefore each function call
needs to be analyzed and converted individually.

While here, remove a few statements that were only useful when the Lst
functions handled circular lists.

Revision 1.43 / (download) - annotate - [select for diffs], Sun Aug 23 17:04:21 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.42: +1 -2 lines
Diff to previous 1.42 (colored) to selected 1.5 (colored)

make(1): remove unused declarations from header files

Revision 1.42 / (download) - annotate - [select for diffs], Sun Aug 23 16:59:44 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.41: +3 -3 lines
Diff to previous 1.41 (colored) to selected 1.5 (colored)

make(1): remove parameter names from function prototypes

Thanks kre for noticing.

Revision 1.41 / (download) - annotate - [select for diffs], Sun Aug 23 16:58:02 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.40: +3 -3 lines
Diff to previous 1.40 (colored) to selected 1.5 (colored)

make(1): reverse order of the Lst_Find parameters

The other callbacks all have (function, param), only the Lst_Find had
(param, function), which was inconsistent.

Revision 1.40 / (download) - annotate - [select for diffs], Sun Aug 23 16:43:34 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.39: +11 -11 lines
Diff to previous 1.39 (colored) to selected 1.5 (colored)

make(1): define aliases for function types in list processing

This makes the prototypes of the functions clearer.

Revision 1.39 / (download) - annotate - [select for diffs], Sun Aug 23 10:53:27 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.38: +3 -2 lines
Diff to previous 1.38 (colored) to selected 1.5 (colored)

make(1): handle special case of a list containing null pointers

GNode.commands is the only place in make where a list can contain null
pointers.  That's unexpected, and memory management in CompatRunCommand
looks suspicous enough to warrant extensive documentation.

Revision 1.38 / (download) - annotate - [select for diffs], Sat Aug 22 22:57:53 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored) to selected 1.5 (colored)

make(1): replace Lst_Duplicate with Lst_CopyS

Lst_Duplicate would have passed through any null pointer, which was not
needed for make.  It was the last function that used Lst_AtEnd, which in
turn was the last function that used LstInsertAfter.  As a result, these
two functions have been removed.

Revision 1.37 / (download) - annotate - [select for diffs], Sat Aug 22 22:41:42 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.36: +2 -6 lines
Diff to previous 1.36 (colored) to selected 1.5 (colored)

make(1): make moving and copying lists simpler

Instead of the two-in-one Lst_Concat, having two separate functions is
easier to understand.  There is no need for a long API comment anymore
since the new functions have a single purpose that is accurately
described by their name.

The long comment inside Lst_Concat has been removed since it only
repeated the exact code, only in more words.

The comments in make.c about appending the cohorts had been wrong.  They
were not appended but prepended.  Once more, the function name expresses
everything that the comment said, making the comment redundant.  There
is no need to test whether the cohorts list is empty, doing nothing is
implied by the word All in Lst_PrependAllS.

Revision 1.36 / (download) - annotate - [select for diffs], Sat Aug 22 22:00:50 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.35: +2 -2 lines
Diff to previous 1.35 (colored) to selected 1.5 (colored)

make(1): make Lst_Prev stricter regarding null pointers

Revision 1.35 / (download) - annotate - [select for diffs], Sat Aug 22 15:43:32 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.34: +2 -2 lines
Diff to previous 1.34 (colored) to selected 1.5 (colored)

make(1): require argument of Lst_Member to be non-null

Since the lists don't contain null pointers, it doesn't make sense to
search for a null pointer.  All calls but one already had obviously
non-null arguments.  The one remaining call using targ->suff has been
guarded for now.

The code for Lst_Member became much simpler than before.  Partly because
the old code had an extra condition for circular lists, which are not
used by make.

Revision 1.34 / (download) - annotate - [select for diffs], Sat Aug 22 15:17:09 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.33: +2 -2 lines
Diff to previous 1.33 (colored) to selected 1.5 (colored)

make(1): replace Lst_Datum with non-null guaranteeing Lst_DatumS

Revision 1.33 / (download) - annotate - [select for diffs], Sat Aug 22 14:56:45 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.32: +1 -3 lines
Diff to previous 1.32 (colored) to selected 1.5 (colored)

make(1): unexport Lst_InsertBefore and Lst_InsertAfter

Revision 1.32 / (download) - annotate - [select for diffs], Sat Aug 22 14:54:48 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored) to selected 1.5 (colored)

make(1): add strict argument checks for Lst_InsertBefore

As with the other modifying operations on lists, the callers already
made sure that the arguments are valid.

Revision 1.31 / (download) - annotate - [select for diffs], Sat Aug 22 14:39:12 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.30: +3 -3 lines
Diff to previous 1.30 (colored) to selected 1.5 (colored)

make(1): convert Lst_Enqueue and Lst_Dequeue to nonnull variants

Except for once instance in parse.c, the usage pattern for Lst_Dequeue
was to first test whether the list is empty.  This pattern allowed the
implementation of Lst_Dequeue to become simpler since the null check is
not needed anymore.

The calls to Lst_Enqueue never pass an invalid list or a null pointer,
therefore making them strict was trivial.

Revision 1.30 / (download) - annotate - [select for diffs], Sat Aug 22 13:28:20 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.29: +1 -2 lines
Diff to previous 1.29 (colored) to selected 1.5 (colored)

make(1): convert remaining Lst_AtEnd to the stricter Lst_Append

The general-purpose list library that is included in make allows to call
Lst_AtEnd for invalid lists, silently ignoring this programming error.
This is a flexibility that make doesn't need.

Another unneeded "feature" is that list items can theoretically be null
pointers.  This doesn't make sense as well and is therefore not needed
by make.

These programming errors are now caught early by assertions.

Revision 1.29 / (download) - annotate - [select for diffs], Sat Aug 22 13:06:39 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.28: +4 -1 lines
Diff to previous 1.28 (colored) to selected 1.5 (colored)

make(1): make Make_HandleUse simpler

Since the function names now contain the text from the comments, the
comments can be shortened a bit.

Revision 1.28 / (download) - annotate - [select for diffs], Sat Aug 22 09:40:18 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.27: +2 -1 lines
Diff to previous 1.27 (colored) to selected 1.5 (colored)

make(1): add Lst_Append to add an item at the end of the list

The previous variant of using a special case of Lst_InsertAfter was
unnecessarily complicated.  Linked lists are a very basic data
structure, and there is no need to overcomplicate things by introducing
unnecessary conditions and branches.

Revision 1.27 / (download) - annotate - [select for diffs], Fri Aug 21 07:00:32 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored) to selected 1.5 (colored)

make(1): remove type information from local variables in list library

Every node in this file is of type LstNode, which makes the 'l' in the
name 'ln' redundant.  The name 'ln' is quite close to the name 'l',
which in turn can easily be confused with the digit '1'.  Therefore,
rename 'l' to 'list' and 'ln' to 'node'.

Revision 1.26 / (download) - annotate - [select for diffs], Fri Aug 21 04:42:02 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.25: +3 -2 lines
Diff to previous 1.25 (colored) to selected 1.5 (colored)

make(1): use stricter list API for sequential access

In several places, it just doesn't make sense to have a null pointer
when a list is expected.

In the existing unit tests, the list passed to Lst_Open is always valid,
but that's not a guarantee for real-world usage.  Therefore, Lst_Open
has been left for now, and Lst_OpenS is only the preferred alternative
to it.

Revision 1.25 / (download) - annotate - [select for diffs], Fri Aug 21 04:09:12 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored) to selected 1.5 (colored)

make(1): assert correct usage of the Lst_Open API

All calls to Lst_Next are properly protected by Lst_Open, so there is no
possible assertion failure here.

Revision 1.24 / (download) - annotate - [select for diffs], Fri Aug 21 03:36:03 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored) to selected 1.5 (colored)

make(1): make list library code stricter

Up to now, the list library didn't distinguish between programming
mistakes (violations of invariants, illegal parameter values) and
actually interesting situations like "element not found in list".

The current code contains many branches for conditions that are neither
exercised by the unit tests nor by real-world usage.  There is no point
in keeping this unnecessary code.

The list functions will be migrated from their lenient variants to the
stricter variants in small parts, each function getting the S suffix
when it is made strict, to avoid any confusion about how strict a
particular function is.  When all functions have been migrated, they
will be renamed back to their original names.

While here, the comments of the functions are cleaned up since they
mention irrelevant implementation details in the API comments, as well
as "side effects" that are really main effects.

Revision 1.23 / (download) - annotate - [select for diffs], Fri Aug 21 02:56:25 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.22: +2 -6 lines
Diff to previous 1.22 (colored) to selected 1.5 (colored)

make(1): properly clean up the remaining code mentioning circular lists

Revision 1.22 / (download) - annotate - [select for diffs], Fri Aug 21 02:20:47 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.21: +3 -5 lines
Diff to previous 1.21 (colored) to selected 1.5 (colored)

make(1): remove unused code for circular lists

The list library had probably been imported from a general-purpose
library that also supported circular lists.  These are not used by make
though.

After replacing Lst_Init(FALSE) with Lst_Init(), only a single call to
Lst_Init remained with a non-constant argument, and that was in
Lst_Concat, which was to be expected.

Revision 1.21 / (download) - annotate - [select for diffs], Thu Aug 13 03:54:57 2020 UTC (3 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.20: +4 -4 lines
Diff to previous 1.20 (colored) to selected 1.5 (colored)

make(1): follow naming conventions for multiple-inclusion guards

This avoids undefined behavior.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Sep 7 20:55:34 2014 UTC (9 years, 7 months ago) by joerg
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, is-mlppp-base, is-mlppp, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Changes since 1.19: +1 -18 lines
Diff to previous 1.19 (colored) to selected 1.5 (colored)

Revert all make changes except the unit tests to the state of three
weeks ago. Individual changes can be reapplied after review.

Revision 1.19 / (download) - annotate - [select for diffs], Sat Aug 23 15:05:40 2014 UTC (9 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.18: +19 -2 lines
Diff to previous 1.18 (colored) to selected 1.5 (colored)

PR/46096: Jarmo Jaakkola: fix many problems with dependencies (PR 49086)

Quite extensive rewrite of the Suff module.  Some ripple effects into
Parse and Targ modules too.

Dependency searches in general were made to honor explicit rules so
implicit and explicit sources are no longer applied on targets that
do not invoke a transformation rule.

Archive member dependency search was rewritten.  Explicit rules now
work properly and $(.TARGET) is set correctly.  POSIX semantics for
lib(member.o) and .s1.a rules are supported.

.SUFFIXES list maintenance was rewritten so that scanning of existing
rules works when suffixes are added and that clearing the suffix list
removes single suffix rules too.  Transformation rule nodes are now
mixed with regular nodes so they are available as regular targets too
if needed (especially after the known suffixes are cleared).

The .NULL target was documented in the manual page, especially to
warn against using it when a single suffix rule would work.
A deprecation warning was also added to the manual and make also
warns the user if it encounters .NULL.

Search for suffix rules no longer allows the explicit dependencies
to override the selected transformation rule.  A check is made in
the search that the transformation that would be tried does not
already exist in the chain.  This prevents getting stuck in an infinite
loop under specific circumstances.  Local variables are now set
before node's children are expanded so dynamic sources work in
multi-stage transformations.  Make_HandleUse() no longer expands
the added children for transformation nodes, preventing triple
expansion and allowing the Suff module to properly postpone their
expansion until proper values are set for the local variables.

Directory prefix is no longer removed from $(.PREFIX) if the target
is found via directory search.

The last rule defined is now used instead of the first one (POSIX
requirement) in case a rule is defined multiple times.  Everything
defined in the first instance is undone, but things added "globally"
are honored.  To implement this, each node tracks attribute bits
which have been set by special targets (global) instead of special
sources (local).  They also track dependencies that were added by
a rule with commands (local) instead of rule with no commands (global).

New attribute, OP_FROM_SYS_MK is introduced.  It is set on all targets
found in system makefiles so that they are not eligible to become
the main target.  We cannot just set OP_NOTMAIN because it is one of
the attributes inherited from transformation and .USE rules and would
make any eligible target that uses a built-in inference rule ineligible.

The $(.IMPSRC) local variable now works like in gmake: it is set to
the first prerequisite for explicit rules.  For implicit rules it
is still the implied source.

The manual page is improved regarding the fixed features.  Test cases
for the fixed problems are added.

Other improvements in the Suff module include:
  - better debug messages for transformation rule search (length of
    the chain is now visualized by indentation)
  - Suff structures are created, destroyed and moved around by a set
    of maintenance functions so their reference counts are easier
    to track (this also gets rid of a lot of code duplication)
  - some unreasonably long functions were split into smaller ones
  - many local variables had their names changed to describe their
    purpose instead of their type

Revision 1.18 / (download) - annotate - [select for diffs], Fri Jan 23 21:58:27 2009 UTC (15 years, 2 months ago) by dsl
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-premerge-20091211, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, dholland-make-base, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver
Changes since 1.17: +4 -4 lines
Diff to previous 1.17 (colored) to selected 1.5 (colored)

Sprinkle some const.
In particular for Lst_Find() and Lst_FindFrom().
Remove some unneeded casts and some now-undeeded UNCONST().

Revision 1.17 / (download) - annotate - [select for diffs], Fri Jan 23 21:26:30 2009 UTC (15 years, 2 months ago) by dsl
Branch: MAIN
Changes since 1.16: +18 -18 lines
Diff to previous 1.16 (colored) to selected 1.5 (colored)

Change 'ClientData' to 'void *' so that relevant parameters can
be made 'const void *'.

Revision 1.16 / (download) - annotate - [select for diffs], Sat Dec 13 15:19:29 2008 UTC (15 years, 4 months ago) by dsl
Branch: MAIN
Changes since 1.15: +1 -12 lines
Diff to previous 1.15 (colored) to selected 1.5 (colored)

Use NULL instead of -1 cast to the relavant type (usually via NIL).
This was a suggestion from christos - so blame him if there is a deep
reason for using -1 :-)

Revision 1.15 / (download) - annotate - [select for diffs], Sat Nov 11 21:23:36 2006 UTC (17 years, 5 months ago) by dsl
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, mjf-devfs2-base, mjf-devfs2, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf, christos-broken
Changes since 1.14: +3 -3 lines
Diff to previous 1.14 (colored) to selected 1.5 (colored)

Return the non-zero value that caused the Lst_ForEach[From] call to
terminate early to the caller.

Revision 1.14 / (download) - annotate - [select for diffs], Fri Oct 27 21:37:25 2006 UTC (17 years, 5 months ago) by dsl
Branch: MAIN
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored) to selected 1.5 (colored)

Rename 'struct Lst' to 'struct List' and 'struct LstNode' to 'struct 'ListNode'
in lst.d remove a small barrowload of casts from the lst.lib bloatset.

Revision 1.13 / (download) - annotate - [select for diffs], Wed Oct 25 20:17:40 2006 UTC (17 years, 5 months ago) by dsl
Branch: MAIN
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored) to selected 1.5 (colored)

Rename Lst_Append() to Lst_InsertAfter() and Lst_Insert() to Lst_InsertBefore()
to better explain their actions.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Oct 25 20:05:59 2006 UTC (17 years, 5 months ago) by dsl
Branch: MAIN
Changes since 1.11: +3 -1 lines
Diff to previous 1.11 (colored) to selected 1.5 (colored)

Fix previous - need to add a lstPrev()

Revision 1.11 / (download) - annotate - [select for diffs], Tue Aug 9 21:36:42 2005 UTC (18 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.10: +10 -7 lines
Diff to previous 1.10 (colored) to selected 1.5 (colored)

Add typedefs for DuplicateProc and FreeProc from Max Okumoto.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Aug 7 11:14:53 2003 UTC (20 years, 8 months ago) by agc
Branch: MAIN
CVS Tags: netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2
Changes since 1.9: +34 -1 lines
Diff to previous 1.9 (colored) to selected 1.5 (colored)

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.

Revision 1.9 / (download) - annotate - [select for diffs], Sat Jun 15 18:24:57 2002 UTC (21 years, 10 months ago) by wiz
Branch: MAIN
CVS Tags: fvdl_fs64_base
Changes since 1.8: +32 -36 lines
Diff to previous 1.8 (colored) to selected 1.5 (colored)

Remove !__STDC__ stuff, de-__P(), ANSIfy, and de-register.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Jul 29 19:45:32 1999 UTC (24 years, 8 months ago) by hubertf
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, minoura-xpg4dl-base, minoura-xpg4dl, comdex-fall-1999-base, comdex-fall-1999
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored) to selected 1.5 (colored)

sprite.h is private to make, so #include it with "sprite.h",
not <sprite.h>.

Problem reported in PR 4381 bye Soren S. Jorvang <soren@t.dk>

Revision 1.7 / (download) - annotate - [select for diffs], Wed Nov 6 17:59:12 1996 UTC (27 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3
Changes since 1.6: +4 -4 lines
Diff to previous 1.6 (colored) to selected 1.5 (colored)

- Merge in FreeBSD and Lite2 changes.
- Fix bug where a non-archive target with a .a suffix would always
  be considered to be out of date, since it does not have a TOC.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Feb 4 22:20:46 1996 UTC (28 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-BETA
Branch point for: netbsd-1-2
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

fix pr/1421 and pr/1997

Revision 1.5 / (download) - annotate - [selected], Wed Jun 14 15:19:31 1995 UTC (28 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (colored)

- $NetBSD$ rcsids
- Fixed so that .[A-Z]* targets that do not match keywords are ignored as
  Posix mandates
- Added .PHONY target keyword

Revision 1.4 / (download) - annotate - [select for diffs], Mon Jun 6 22:45:32 1994 UTC (29 years, 10 months ago) by jtc
Branch: MAIN
CVS Tags: netbsd-1-0-base, netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0, netbsd-1-0
Changes since 1.3: +69 -50 lines
Diff to previous 1.3 (colored) to selected 1.5 (colored)

Fixes from Christos Zoulas, who used purify, objectcenter and testcenter
to find memory leaks and illegal memory accesses.

Revision 1.3 / (download) - annotate - [select for diffs], Sat Mar 5 00:34:52 1994 UTC (30 years, 1 month ago) by cgd
Branch: MAIN
Changes since 1.2: +4 -1 lines
Diff to previous 1.2 (colored) to selected 1.5 (colored)

fixes/improvements from Christos Zoulas <christos@deshaw.com>.

Revision 1.2 / (download) - annotate - [select for diffs], Sun Aug 1 18:12:01 1993 UTC (30 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored) to selected 1.5 (colored)

Add RCS identifiers.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Mar 21 09:45:37 1993 UTC (31 years, 1 month ago) by cgd
Branch: MAIN
Diff to selected 1.5 (colored)

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>