CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: rillig Date: Mon Feb 15 07:58:19 UTC 2021 Modified Files: src/usr.bin/make/unit-tests: directive-for-escape.exp directive-for-escape.mk Log Message: make: improve comments in test for expansions in .for loops To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/unit-tests/directive-for-escape.exp \ src/usr.bin/make/unit-tests/directive-for-escape.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Feb 15 07:42:35 UTC 2021 Modified Files: src/usr.bin/make: test-variants.sh Log Message: make: fix typo in comment To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/usr.bin/make/test-variants.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/xlint/lint1
Module Name:src Committed By: rillig Date: Mon Feb 15 07:40:18 UTC 2021 Modified Files: src/usr.bin/xlint/lint1: tree.c Log Message: lint: remove redundant comment That comment was useful when there was no function is_null_pointer. Back then, the code for testing a null pointer was written in-line, which made it really hard to see what's going on. This is no longer the case. To generate a diff of this commit: cvs rdiff -u -r1.206 -r1.207 src/usr.bin/xlint/lint1/tree.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/xlint/lint1
Module Name:src Committed By: rillig Date: Mon Feb 15 07:36:40 UTC 2021 Modified Files: src/usr.bin/xlint/lint1: tree.c Log Message: lint: extract typeok_colon_pointer from typeok_colon The subtype information is now only accessed if both operands are actually pointers. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.205 -r1.206 src/usr.bin/xlint/lint1/tree.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/tests/usr.bin/xlint/lint1
Module Name:src Committed By: rillig Date: Mon Feb 15 07:18:20 UTC 2021 Modified Files: src/tests/usr.bin/xlint/lint1: msg_124.c Log Message: tests/lint: fix comments in test for message 124 To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/tests/usr.bin/xlint/lint1/msg_124.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/tests/lib/libcurses
Module Name:src Committed By: rillig Date: Mon Feb 15 07:06:27 UTC 2021 Modified Files: src/tests/lib/libcurses/director: testlang_conf.l testlang_parse.y src/tests/lib/libcurses/slave: commands.c Log Message: tests/libcurses: fix error handling for non-system errors These errors are unrelated to errno. The scanf family of functions also does not set errno. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/tests/lib/libcurses/director/testlang_conf.l cvs rdiff -u -r1.47 -r1.48 src/tests/lib/libcurses/director/testlang_parse.y cvs rdiff -u -r1.13 -r1.14 src/tests/lib/libcurses/slave/commands.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Mon Feb 15 06:46:01 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: clean up code and comments around ModifyWord In ModifyWords, there is no "passed string" anymore since that function now directly operates on the expression value. While here, improve the documentation of ModifyWordsCallback and rename it to ModifyWordProc, focusing on its purpose instead of where it is used. To generate a diff of this commit: cvs rdiff -u -r1.821 -r1.822 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/netinet
Module Name:src Committed By: knakahara Date: Mon Feb 15 03:41:01 UTC 2021 Modified Files: src/sys/netinet: ip_flow.c Log Message: Fix build failure for options GATEWAY. To generate a diff of this commit: cvs rdiff -u -r1.83 -r1.84 src/sys/netinet/ip_flow.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/sys
Module Name:src Committed By: christos Date: Mon Feb 15 00:44:09 UTC 2021 Modified Files: src/sys/sys: mbuf.h Log Message: remove _ prefix from args To generate a diff of this commit: cvs rdiff -u -r1.228 -r1.229 src/sys/sys/mbuf.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 22:48:17 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: clean up memory management in evaluation of expressions The condition "st->newValue.str != val" in ApplySingleModifier made the memory management look more complicated than it really was. Freeing an object based on another object's value is harder to understand than necessary. To fix this, the "current value" of the expression is now stored in ApplyModifiersState, and it gets updated in-place by the ApplyModifier functions. This reduces the number of parameters for the ApplyModifier functions. Accessing the current value of the expression is now more verbose than before (st->value.str instead of the simple val). To compensate for this verbosity, ApplyModifiersIndirect is now much easier to understand since there is no extra "current value" floating around. There is still room for improvement. In ApplyModifiers, passing an FStr in and returning another (or possibly the same) makes it difficult to understand memory management. Adding a separate Expr type that outlives the ApplyModifiersState will make this easier, in a follow-up commit. To generate a diff of this commit: cvs rdiff -u -r1.820 -r1.821 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 21:54:42 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: reduce redundant code around ModifyWords The result of ModifyWords had been passed to Expr_SetValueOwn in all cases. The last argument to ModifyWords had always been st->sep. To generate a diff of this commit: cvs rdiff -u -r1.819 -r1.820 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 21:32:58 UTC 2021 Modified Files: src/usr.bin/make: nonints.h Log Message: make: clean up FStr and MFStr memory in cleanup mode To generate a diff of this commit: cvs rdiff -u -r1.202 -r1.203 src/usr.bin/make/nonints.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys
Module Name:src Committed By: christos Date: Sun Feb 14 20:58:35 UTC 2021 Modified Files: src/sys/net: if_arp.h if_bridge.c src/sys/netinet: icmp_private.h if_arp.c igmp_var.h in_l2tp.c ip_flow.c ip_input.c ip_private.h tcp_input.c tcp_private.h udp_private.h udp_usrreq.c src/sys/netinet6: icmp6.c in6_l2tp.c ip6_flow.c ip6_input.c ip6_private.h udp6_usrreq.c src/sys/sys: mbuf.h param.h Log Message: - centralize header align and pullup into a single inline function - use a single macro to align pointers and expose the alignment, instead of hard-coding 3 in 1/2 the macros. - fix an issue in the ipv6 lt2p where it was aligning for ipv4 and pulling for ipv6. To generate a diff of this commit: cvs rdiff -u -r1.39 -r1.40 src/sys/net/if_arp.h cvs rdiff -u -r1.177 -r1.178 src/sys/net/if_bridge.c cvs rdiff -u -r1.3 -r1.4 src/sys/netinet/icmp_private.h \ src/sys/netinet/ip_private.h src/sys/netinet/tcp_private.h \ src/sys/netinet/udp_private.h cvs rdiff -u -r1.301 -r1.302 src/sys/netinet/if_arp.c cvs rdiff -u -r1.25 -r1.26 src/sys/netinet/igmp_var.h cvs rdiff -u -r1.18 -r1.19 src/sys/netinet/in_l2tp.c cvs rdiff -u -r1.82 -r1.83 src/sys/netinet/ip_flow.c cvs rdiff -u -r1.397 -r1.398 src/sys/netinet/ip_input.c cvs rdiff -u -r1.424 -r1.425 src/sys/netinet/tcp_input.c cvs rdiff -u -r1.259 -r1.260 src/sys/netinet/udp_usrreq.c cvs rdiff -u -r1.247 -r1.248 src/sys/netinet6/icmp6.c cvs rdiff -u -r1.19 -r1.20 src/sys/netinet6/in6_l2tp.c cvs rdiff -u -r1.40 -r1.41 src/sys/netinet6/ip6_flow.c cvs rdiff -u -r1.222 -r1.223 src/sys/netinet6/ip6_input.c cvs rdiff -u -r1.3 -r1.4 src/sys/netinet6/ip6_private.h cvs rdiff -u -r1.148 -r1.149 src/sys/netinet6/udp6_usrreq.c cvs rdiff -u -r1.227 -r1.228 src/sys/sys/mbuf.h cvs rdiff -u -r1.684 -r1.685 src/sys/sys/param.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/sparc64/doc
Module Name:src Committed By: palle Date: Sun Feb 14 20:30:31 UTC 2021 Modified Files: src/sys/arch/sparc64/doc: TODO Log Message: sun4v: update TODO with status of verified systems(T2000, T5 and qemu) To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/sys/arch/sparc64/doc/TODO Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 20:22:30 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: print error about failed shell command before overwriting variable Memory management of the value of variable expressions is currently more complicated than necessary. It is the responsibility of ApplyModifiers, even though conceptually the value belongs to an expression, so it should rather be in Expr. Right now, this is an alias for ApplyModifiersState, but that will change soon. When that is done, there will no longer be a "current value" and a "new value", only a single "value" of an expression. At that point, before Expr_SetValueOwn will overwrite the old value with the output of the shell command, the error message needs to refer to the latter. To generate a diff of this commit: cvs rdiff -u -r1.818 -r1.819 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src
Module Name:src Committed By: rillig Date: Sun Feb 14 20:16:18 UTC 2021 Modified Files: src/distrib/sets/lists/tests: mi src/usr.bin/make/unit-tests: Makefile varmod-shell.mk Added Files: src/usr.bin/make/unit-tests: varmod-sun-shell.exp varmod-sun-shell.mk Log Message: make: add test for the variable modifier ':sh' To generate a diff of this commit: cvs rdiff -u -r1.1017 -r1.1018 src/distrib/sets/lists/tests/mi cvs rdiff -u -r1.270 -r1.271 src/usr.bin/make/unit-tests/Makefile cvs rdiff -u -r1.5 -r1.6 src/usr.bin/make/unit-tests/varmod-shell.mk cvs rdiff -u -r0 -r1.1 src/usr.bin/make/unit-tests/varmod-sun-shell.exp \ src/usr.bin/make/unit-tests/varmod-sun-shell.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys
Module Name:src Committed By: roy Date: Sun Feb 14 19:47:17 UTC 2021 Modified Files: src/sys/net: if_arp.h src/sys/netinet: if_arp.c Log Message: if_arp: Just KASSERT that arphrd is aligned While here improve readability of checking ARP IEEE1394 matches interface. To generate a diff of this commit: cvs rdiff -u -r1.38 -r1.39 src/sys/net/if_arp.h cvs rdiff -u -r1.300 -r1.301 src/sys/netinet/if_arp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/net
Module Name:src Committed By: roy Date: Sun Feb 14 19:35:38 UTC 2021 Modified Files: src/sys/net: if_ether.h if_ethersubr.c Log Message: if_ether: revert prior alignment checks Apparently not needed as our drivers ensure this. To generate a diff of this commit: cvs rdiff -u -r1.85 -r1.86 src/sys/net/if_ether.h cvs rdiff -u -r1.291 -r1.292 src/sys/net/if_ethersubr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/net
Module Name:src Committed By: roy Date: Sun Feb 14 19:33:29 UTC 2021 Modified Files: src/sys/net: if_gre.c if_gre.h Log Message: if_gre: Remove alignment checks in favour copying to stack Makes the code a lot simpler, idea from dyoung@ To generate a diff of this commit: cvs rdiff -u -r1.179 -r1.180 src/sys/net/if_gre.c cvs rdiff -u -r1.48 -r1.49 src/sys/net/if_gre.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 18:59:36 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: clean up ValidShortVarname The switch statement was hard to read, especially the "break" that needed a comment since it was effectively a "continue". To generate a diff of this commit: cvs rdiff -u -r1.817 -r1.818 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 18:55:51 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: clean up ParseVarnameShort Single-character short variable expressions such as $V neither have a starting character nor an ending character. The only interesting character forms the complete variable name. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.816 -r1.817 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/etc
Module Name:src Committed By: pgoyette Date: Sun Feb 14 18:45:44 UTC 2021 Modified Files: src/etc: Makefile.params Log Message: Add KERNEL_DIR to /etc/release "Sure, why not" from xtos! To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/etc/Makefile.params Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 18:21:31 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: rename VarExprStatus to ExprStatus It is only used in var.c so there is no need to use a prefix. To generate a diff of this commit: cvs rdiff -u -r1.815 -r1.816 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: rillig Date: Sun Feb 14 17:47:33 UTC 2021 Modified Files: src/usr.bin/make/unit-tests: varmod-indirect.mk Log Message: make: add test for indirect ':U' modifier Unlike ':ts' and ':tW', the effects of ':U' are visible even after the modifiers from the nested expression have been applied. These subtle details, like many others, are not documented in the manual page. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/usr.bin/make/unit-tests/varmod-indirect.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 17:27:25 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: revert part of previous commit That code was not ready yet. To generate a diff of this commit: cvs rdiff -u -r1.814 -r1.815 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 17:24:47 UTC 2021 Modified Files: src/usr.bin/make: var.c src/usr.bin/make/unit-tests: varmod-indirect.exp Log Message: make: update line numbers in expected test output The documentation from the previous commit added a few lines. To generate a diff of this commit: cvs rdiff -u -r1.813 -r1.814 src/usr.bin/make/var.c cvs rdiff -u -r1.9 -r1.10 src/usr.bin/make/unit-tests/varmod-indirect.exp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: rillig Date: Sun Feb 14 17:22:37 UTC 2021 Modified Files: src/usr.bin/make/unit-tests: varmod-indirect.mk Log Message: make: document since when indirect modifiers are supported To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/unit-tests/varmod-indirect.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: rillig Date: Sun Feb 14 16:12:46 UTC 2021 Modified Files: src/usr.bin/make/unit-tests: varmod-indirect.exp varmod-indirect.mk Log Message: make: add more tests for edge cases in evaluating variable expressions As a preparation for refactoring the code around variable expressions, there need to be a few tests for indirect variable modifiers since these were not covered before. Indirect modifiers may include ':ts' and ':tW', which change the interpretation of the variable expression in small details. The scope of these changes is limited to the indirect modifier, any evaluations outside this indirect modifier are unaffected. The changes to the .exp file are mostly line number changes, plus a demonstration of a newly found bug, where an expression is evaluated successfully despite producing a parse error. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/usr.bin/make/unit-tests/varmod-indirect.exp cvs rdiff -u -r1.5 -r1.6 src/usr.bin/make/unit-tests/varmod-indirect.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/dev/pci
Module Name:src Committed By: jakllsch Date: Sun Feb 14 14:05:03 UTC 2021 Modified Files: src/sys/dev/pci: if_bnx.c Log Message: if_bnx.c: fix misleading indentation suggested by rillig@ To generate a diff of this commit: cvs rdiff -u -r1.107 -r1.108 src/sys/dev/pci/if_bnx.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 13:53:28 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: add functions for assigning the value of an expression The plan is to have only the "current value" of the expression as a member, not the "new value". To do this consistently and get the memory management right, there must be a single place (or two) where the value of the expression is updated. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.812 -r1.813 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 13:46:01 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: rename ApplyModifiersState_Define to Expr_Define The type name ApplyModifiersState was only intended as a working draft, its name is too long and its scope a little too narrow. Applying the modifiers is the main part of evaluating a variable expression, and the scope of that type will be extended to parsing the name of the expression as well. This will hopefully reduce the number of parameters, which is currently at 14. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.811 -r1.812 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: rillig Date: Sun Feb 14 13:24:45 UTC 2021 Modified Files: src/usr.bin/make/unit-tests: Makefile Log Message: make: fix TMPDIR in unit-tests Combining the assignment operator ':=' with the variable modifier ':U' on the same variable does not work as intended. At the point where the ':U' is evaluated, the variable is guaranteed to be defined because the code in VarAssign_EvalSubst says so. To generate a diff of this commit: cvs rdiff -u -r1.269 -r1.270 src/usr.bin/make/unit-tests/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 12:35:27 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: condense the code for parsing :S and :C modifiers No functional change. To generate a diff of this commit: cvs rdiff -u -r1.810 -r1.811 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 12:24:53 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: rearrange some comments to make them easier to spot To generate a diff of this commit: cvs rdiff -u -r1.809 -r1.810 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make
Module Name:src Committed By: rillig Date: Sun Feb 14 12:16:13 UTC 2021 Modified Files: src/usr.bin/make: var.c Log Message: make: document purpose of stepping back in the parser In ApplyModifier_Assign there was no need to compute the delimiter from st->startc since that has already be done at that point. To generate a diff of this commit: cvs rdiff -u -r1.808 -r1.809 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.bin/make/unit-tests
Module Name:src Committed By: rillig Date: Sun Feb 14 12:14:37 UTC 2021 Modified Files: src/usr.bin/make/unit-tests: varmod-assign.mk Log Message: make: add test for ::= modifier enclosed in parentheses To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/usr.bin/make/unit-tests/varmod-assign.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/tests/lib/libcurses/tests
Module Name:src Committed By: rillig Date: Sun Feb 14 11:21:37 UTC 2021 Modified Files: src/tests/lib/libcurses/tests: addch Log Message: tests/libcurses: document the history about tab bugs in addch/addstr Verified by installing all versions of libcurses from 2012 to 2021 and running a simple test program on them: #include #include int main(int argc, char **argv) { int xstr, ystr, xch, ych; initscr(); addstr("\t"); xstr = getcurx(stdscr); addstr("\n"); ystr = getcury(stdscr); addch('\t'); xch = getcurx(stdscr); addch('\n'); ych = getcury(stdscr); endwin(); fprintf(stderr, "%s\t%d,%d\t%d,%d\n", argv[1], ystr, xstr, ych, xch); } Some selected outputs: ... 2016.11.24.14.49.08 1,0 2,8 2016.11.28.18.25.26 1,8 2,8 ... 2019.05.12.02.29.00 1,8 2,8 2019.05.20.22.17.41 1,8 2,16 ... 2021.02.13.10.37.00 1,8 2,16 2021.02.13.14.30.37 1,8 2,8 To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/tests/lib/libcurses/tests/addch Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.