make-alpha
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] make branch, master, updated. 4.4.1-85-g07187db9


From: Paul D. Smith
Subject: [SCM] make branch, master, updated. 4.4.1-85-g07187db9
Date: Sun, 4 Feb 2024 18:32:48 -0500 (EST)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "make".

The branch, master has been updated
       via  07187db947ba25e6c59b55f10660a04f8e9c5229 (commit)
       via  a493d9ab6cd2fbfa2ec83b35f52f486b56621779 (commit)
       via  a382ac6cd17eedf535407d29bcfc3cef04bbc3bc (commit)
       via  63b602e74f8e2235191d7dee4dd05f82b1869fdb (commit)
       via  ec348f51d0240ebc64d11c77c461e89c4a8dfed7 (commit)
       via  51e56a028e64ed15326ccb986f7f7588268b0002 (commit)
       via  1eff20f6f64d00f588c218e265f8d3a81a8fb00b (commit)
       via  82708b3a3a7114c6cd11a11e525a8d33118dbf61 (commit)
       via  828906b6dcc85e2c7fa663435571ac73a97b52cc (commit)
       via  b9369709565bf4ba31e5f272b48bd199024c44e6 (commit)
       via  1e43a5d1046f990ddaccf2bf647565a34eb56bda (commit)
       via  25049fef16d7ccac1836443cb2888231a4d694b5 (commit)
      from  31036e648f4a92ae0cce215eb3d60a1311a09c60 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 07187db947ba25e6c59b55f10660a04f8e9c5229
Author: Dmitry Goncharov <dgoncharov@users.sf.net>
Date:   Sun Feb 4 13:04:05 2024 -0500

    [SV 64822, SV 36486] Fix appending to a pattern specific variable
    
    Appending to a pattern specific variable produces an incorrect value
    in the presence of a command line definition or an env override of
    the variable.  Also, fix pattern/target-specific appending to a
    variable with origin override.
    
    * At parse time record_target_var sets the value of a pattern
      specific variable to the value defined on command line or to the
      value of the env override.
    * Later, at build time, recursively_expand_for_file appends this
      value of the variable (set in record_target_var) to the command
      line value again, regardless of the origin of the variable.
    
    This patch modifies recursively_expand_for_file to avoid appending,
    unless the origin of the variable beats or equals the origin of one
    of the parent definitions of this variable.
    
    Reported by Rob <robw9739@gmail.com>,
    Brian Vandenberg <phantall@gmail.com>,
    Markus Oberhumer <markus@oberhumer.com>.
    
    * NEWS: Note the change.
    * src/variable.c (do_variable_definition): Avoid merging a
    pattern-specific variable with the parent definition when a command
    line or env override is present.
    * src/expand.c (recursively_expand_for_file): Avoid appending to a
    pattern-specific variable, unless the origin of this pattern-specific
    variable beats or equals the origin of one of the parent definitions
    of this variable.
    * doc/make.texi (Override Directive): Add missing cross-reference.
    * tests/scripts/variables/append: Add tests.

commit a493d9ab6cd2fbfa2ec83b35f52f486b56621779
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Feb 4 11:31:19 2024 -0500

    * NEWS: Clean up

commit a382ac6cd17eedf535407d29bcfc3cef04bbc3bc
Author: Dmitry Goncharov <dgoncharov@users.sf.net>
Date:   Sun Feb 4 11:16:40 2024 -0500

    [SV 64803] Set origin for unmodified variables after -e
    
    Ensure the origin of all variables inherited from the environment is
    "environment override" if -e is given.  Previously only variables
    that were set in the makefile had this origin.
    
    PDS: Most of these changes are from Dmitry but I slightly modified
    the algorithm: instead of rearranging the way in which MAKEFLAGS is
    parsed we reset the env_override value to the default before we
    re-parse MAKEFLAGS, then we set the origin of all env vars to the
    correct value based on the new setting.
    
    * NEWS: Mention the change for backward-compatibility.
    * src/main.c (main): Ensure MAKEFLAGS is always marked special.
    (reset_makeflags): Set env_overrides back to default before parsing
    MAKEFLAGS.
    (decode_switches): Call reset_env_override() to check for changes.
    * src/variable.h (reset_env_override): Declare a new function.
    * src/variable.c (reset_env_override): Go through all env variables
    and ensure the origin is correct based on env_overrides.
    (set_env_override): Helper function for the hash.
    * tests/scripts/functions/foreach: Fix tests.
    * tests/scripts/functions/let: Ditto.
    * tests/scripts/functions/origin: Ditto.
    * tests/scripts/options/dash-e: Add tests.

commit 63b602e74f8e2235191d7dee4dd05f82b1869fdb
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Feb 4 09:47:36 2024 -0500

    * tests/test_driver.pl: Add cd to the .run output file

commit ec348f51d0240ebc64d11c77c461e89c4a8dfed7
Author: Dmitry Goncharov <dgoncharov@users.sf.net>
Date:   Sun Jan 28 14:46:55 2024 -0500

    Replace target_var boolean with enum variable_scope
    
    Replace the target_var boolean with an enum to distinguish between
    global, target-specific, and pattern-specific variables when defining.
    
    * src/variable.h (enum variable_scope): Introduce enum variable_scope.
    Replace parameter target_var of type int with enum variable_scope.
    * src/load.c (load_file): Ditto.
    * src/main.c (handle_non_switch_argument): Ditto.
    * src/read.c (eval_makefile): Ditto.
    (eval): Ditto.
    (do_define): Ditto.
    (record_target_var): Ditto.
    (construct_include_path): Ditto.
    * src/variable.c (initialize_file_variables): Ditto.
    (shell_result): Ditto.
    (try_variable_definition): Ditto.
    (do_variable_definition): Ditto.

commit 51e56a028e64ed15326ccb986f7f7588268b0002
Author: Paul Smith <psmith@gnu.org>
Date:   Sat Jan 27 17:14:53 2024 -0500

    * doc/make.texi: Grammar improvements.
    
    Reported-by: David Apps <davidapps3+gnu@gmail.com>

commit 1eff20f6f64d00f588c218e265f8d3a81a8fb00b
Author: Paul Smith <psmith@gnu.org>
Date:   Thu Jan 11 10:05:27 2024 -0500

    Support conditional modifiers on all assignment operators
    
    Rework the single "?=" operator to instead allow a "?" modifier to be
    prepended to ANY assignment operator.  If "?" is given then the
    variable is assigned (using whatever operator comes next) if and only
    if the variable is not already defined.  If it is defined then no
    action is taken (the right-hand side is not expanded, etc.)
    
    * NEWS: Announce this new feature.
    * doc/make.texi: Modify the documentation around assignment operators.
    * src/variable.h: Remove the f_conditional variable flavor.
    (do_variable_definition): Add an argument specifying conditional.
    * src/variable.c (parse_variable_definition): Use the existing flag
    "conditional" to remember if we saw "?" rather than the flavor.
    When we see "?" skip it and continue trying to parse an assignment.
    (try_variable_definition): Pass condition to do_variable_definition().
    (initialize_file_variables): Ditto.
    (do_variable_definition): Check for conditional up-front: quit if set.
    Remove handling of obsolete f_conditional flavor.
    * src/read.c (eval_makefile): MAKEFILE_LIST is not conditional.
    (do_define): Unset conditional for define with no operator.  Pass the
    conditional flag to do_variable_definition().
    (construct_include_path): .INCLUDE_DIRS is not conditional.
    * src/load.c (load_file): .LOADED is not conditional.
    * tests/scripts/variables/conditional: Add new tests.

commit 82708b3a3a7114c6cd11a11e525a8d33118dbf61
Author: Paul Smith <psmith@gnu.org>
Date:   Wed Jan 10 23:53:05 2024 -0500

    Remove unnecessary parsing during makefile read
    
    * src/read.c (make_word_type): Remove w_varassign from the enum.
    (get_next_mword): This function is never called on a string in a place
    where we might find a variable assignment.  Any variable assignments
    have already been handled via try_variable_definition(), so we don't
    need to check for them here.
    * tests/scripts/variables/flavors: Check triple-colon assignment in
    target-specific variables.

commit 828906b6dcc85e2c7fa663435571ac73a97b52cc
Author: Paul Smith <psmith@gnu.org>
Date:   Wed Jan 10 00:01:33 2024 -0500

    Create a common method for skipping variable references
    
    * README.git: Add some notes about using ASAN.
    * src/makeint.h: Declare skip_references().
    * src/misc.c (skip_reference): A new function that will skip over a
    variable reference, counting matching open paren/brace characters.
    * src/implicit.c (get_next_word): Replace code with skip_reference().
    * src/read.c (conditional_line): Ditto.
    (find_map_unquote): Ditto.
    (get_next_mword): Ditto.
    (parse_variable_definition): Ditto.
    * src/function.c (handle_function): Make clear that the passed in
    pointers are not modified if the function returns false.
    * src/expand.c (expand_string_buf): Don't create local variables to
    call handle_function() since it doesn't modify its arguments.
    * src/job.c (new_job): Small simplifications.

commit b9369709565bf4ba31e5f272b48bd199024c44e6
Author: Paul Smith <psmith@gnu.org>
Date:   Sat Jan 27 15:35:45 2024 -0500

    * src/misc.c (writebuf, readbuf): Return a constant -1

commit 1e43a5d1046f990ddaccf2bf647565a34eb56bda
Author: Dmitry Goncharov <dgoncharov@users.sf.net>
Date:   Sat Jan 27 16:37:59 2024 -0500

    [SV 65211] Fix load and loadapi tests.
    
    * scripts/features/load: Suppress unused variable compiler warnings.
    * scripts/features/loadapi: Ditto.

commit 25049fef16d7ccac1836443cb2888231a4d694b5
Author: Paul Smith <psmith@gnu.org>
Date:   Thu Jan 18 17:54:59 2024 -0500

    [SV 65172] Avoid buffer overruns when expanding for $(shell ...)
    
    Reported-by: MIAOW Miao <guoyr_2013@hotmail.com>
    Patch from: Henrik Carlqvist <hc981@poolhem.se>
    Test from: Dmitry Goncharov <dgoncharov@users.sf.net>
    
    * src/expand.c (recursively_expand_for_file): Check the variable name
    before checking for equality so we don't overrun the buffer.
    * tests/scripts/functions/shell: Add a test with a very long variable.

-----------------------------------------------------------------------

Summary of changes:
 NEWS                                |  26 +++-
 README.git                          |   7 +
 doc/make.texi                       | 242 +++++++++++++++++++------------
 src/expand.c                        |  73 +++++++---
 src/function.c                      |  11 +-
 src/implicit.c                      |  33 +----
 src/job.c                           |  31 ++--
 src/load.c                          |   3 +-
 src/main.c                          |  14 +-
 src/makeint.h                       |   1 +
 src/misc.c                          |  51 ++++++-
 src/read.c                          | 182 +++++------------------
 src/variable.c                      | 205 +++++++++++++-------------
 src/variable.h                      |  14 +-
 tests/scripts/features/load         |   2 +
 tests/scripts/features/loadapi      |   4 +
 tests/scripts/functions/foreach     |   4 +-
 tests/scripts/functions/let         |   2 +-
 tests/scripts/functions/origin      |   4 +-
 tests/scripts/functions/shell       |  11 ++
 tests/scripts/options/dash-e        | 121 ++++++++++++++++
 tests/scripts/variables/append      | 280 ++++++++++++++++++++++++++++++++++++
 tests/scripts/variables/conditional | 137 ++++++++++++++++++
 tests/scripts/variables/flavors     |   8 ++
 tests/test_driver.pl                |  28 ++--
 25 files changed, 1060 insertions(+), 434 deletions(-)
 create mode 100644 tests/scripts/variables/append
 create mode 100644 tests/scripts/variables/conditional


hooks/post-receive
-- 
make



reply via email to

[Prev in Thread] Current Thread [Next in Thread]