[Top][All Lists]

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

[SCM] make branch, master, updated. 4.3-37-g58a3792

From: Paul D. Smith
Subject: [SCM] make branch, master, updated. 4.3-37-g58a3792
Date: Sun, 29 Nov 2020 18:02:27 -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  58a37927e6f36ff0b9b53c57c0690b20430c928e (commit)
       via  ec272f3a9cd3881f43539012c7cf576fed967e8f (commit)
       via  ef6aca5a389a34a5d0fbfc30cebd5f5e886cceb6 (commit)
       via  b262ea5d8f7df10627e846cb7de3f30a2351dd1b (commit)
       via  cc20f90507adb74578f509c7ff7b622d6058f7aa (commit)
       via  9e2fa24649b870d79e2582f46e851fb34daa4762 (commit)
       via  2dc0280d82dd11bc6bb06363f27dd7739ee8a371 (commit)
       via  90959b8b70be9d81bb559f51a3a894d80dc5d469 (commit)
       via  19ae6fe72ace81bd16f02bd40635bbc766e53c95 (commit)
       via  0e020bbc24d89592e9ea15f9e8b887a71692eedf (commit)
       via  c01222c0181f9bb4297459663d13444ebfe3ad97 (commit)
       via  957aa450a073796513f9d4d815ef36ad00823be0 (commit)
      from  e49e11e069fe7f214263be1782242b9b50f71eaa (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 58a37927e6f36ff0b9b53c57c0690b20430c928e
Author: Paul Smith <>
Date:   Sun Nov 29 17:40:34 2020 -0500

    * maintMakefile: [SV 58794] Check for file existence in the release

commit ec272f3a9cd3881f43539012c7cf576fed967e8f
Author: Paul Smith <>
Date:   Sun Nov 29 16:02:41 2020 -0500

    * (HAVE_GUILE): Only use Guile options if HAVE_GUILE.

commit ef6aca5a389a34a5d0fbfc30cebd5f5e886cceb6
Author: Paul Smith <>
Date:   Sun Nov 29 16:02:12 2020 -0500

    * tests/scripts/features/vpathgpath: Avoid duplicate function name.

commit b262ea5d8f7df10627e846cb7de3f30a2351dd1b
Author: Paul Smith <>
Date:   Sun Nov 29 14:28:29 2020 -0500

    Resolve unused-result warnings for alloca(0)
    * src/makeint.h (free_alloca): New macro to defeat warn_unused_result.
    * src/read.c (eval_makefile): Call it.
    (eval_buffer): Ditto.
    * src/remake.c (update_file): Ditto.

commit cc20f90507adb74578f509c7ff7b622d6058f7aa
Author: Paul Smith <>
Date:   Sun Nov 29 14:03:30 2020 -0500

    Avoid some valgrind warnings
    Using sscanf() to parse archive header values (struct ar_hdr) can lead
    to valgrind warnings which are probably bogus but are annoying.
    To be safer, create a local method to convert the ASCII integer
    strings into integers.
    * src/arscan.c (parse_int): Turn integer strings into integers.
    (ar_scan): Initialize struct ar_hdr memory.
    Call parse_int() rather than sscanf/atol.

commit 9e2fa24649b870d79e2582f46e851fb34daa4762
Author: Paul Smith <>
Date:   Fri Nov 27 17:07:53 2020 -0500

    [SV 41273] Allow the directory cache to be invalidated
    Each time we invoke a command it's possible that it will change the
    filesystem in ways that were not described by the target.  If that
    happens but we have cached previous directory contents then we may
    make decisions or report results based on obsolete information.
    Keep a count of how many commands we've invoked, and remember the
    current command count every time we load the contents of a directory.
    If we request the directory and the current command count has changed
    we know the cache is outdated so reload from scratch.
    * NEWS: Announce the change.
    * src/makeint.h (command_count): Create a global counter.
    * src/main.c (command_count): Ditto.
    * src/job.c (reap_children): Increment the counter on job completion.
    * src/function.c (func_file): Increment if we write a file.
    * src/dir.c (clear_directory_contents): Clear the current contents of
    a cached directory.
    (struct directory_contents): Remember the counter value.
    (struct directory): Remember the counter value for non-existing dirs.
    (find_directory): If we have a cached directory and the count hasn't
    changed then return it.  Else, clear the previous contents and re-read
    from scratch.
    * tests/scripts/features/dircache: Add tests of the directory cache.

commit 2dc0280d82dd11bc6bb06363f27dd7739ee8a371
Author: Paul Smith <>
Date:   Sat Nov 28 12:30:08 2020 -0500

    Support "unexport" in target-specific variables.
    Rewrite the environment variable algorithm to correctly inherit
    export settings from parent variable sets.  The new algorithm
    for computing the table of environment variables is:
    - Start with the most local variable set and proceed to global.
    - If the variable already exists in the table and we don't know
      its export status, update it with the current variable's status.
    - If the variable is not in the table and it's not global, add it
      regardless of its status so if it's unexported we remember that.
    - If the variable is not in the table and is global, check its
      export status and don't add it if we won't export it.
    Then when generating the environment variables, check the export
    status of each variable in case it was a target-specific variable
    and we have determined it should not be exported.
    Rework SHELL handling to check at the end whether we added it or
    not and if we didn't, add the value from the environment.
    * NEWS: Announce support for target-specific "unexport"."
    * doc/make.texi (Target-specific): Document the support.
    * src/variable.h (enum variable_export): Make into a global type.
    * src/read.c (struct vmodifiers): Use enum variable_export rather
    than individual booleans.
    (parse_var_assignment): Parse the "unexport" keyword.
    (eval): Remember the vmodifier value in the variable.
    (record_target_var): Ditto.
    * src/variable.c (should_export): Check if the variable should be
    (target_environment): Implement the above algorithm.
    * tests/scripts/features/export: Test export/unexport with variable
    assignments on the same line.
    * tests/scripts/features/targetvars: Add a comprehensive suite of
    tests for different types of target-specific export / unexport.
    * tests/scripts/variables/SHELL: Update the comment.

commit 90959b8b70be9d81bb559f51a3a894d80dc5d469
Author: Dmitry Goncharov <>
Date:   Fri Nov 27 17:18:05 2020 -0500

    [SV 59230] Preserve export settings for target-specific vars
    * src/read.c (record_target_var): Don't overwrite pre-existing export
    flag unless we're changing it.
    * tests/scripts/features/targetvars: Add a test.

commit 19ae6fe72ace81bd16f02bd40635bbc766e53c95
Author: Paul Smith <>
Date:   Fri Nov 27 16:56:22 2020 -0500

    [SV 59230] Ensure environment variables are exportable
    When checking for invalid environment variable names we searched the
    entire name string instead of just the first LENGTH chars; this could
    cause us to incorrectly decide the variable was not exportable.
    Dmitry Goncharov <> found this bug and
    provided a test case and sample fix: I used the test but chose a
    slightly different fix.
    * src/variable.c (define_variable_in_set): check the variable name
    not the input string.
    * tests/scripts/features/targetvars: Ensure environment variable
    values are exported.

commit 0e020bbc24d89592e9ea15f9e8b887a71692eedf
Author: Paul Smith <>
Date:   Fri Nov 27 16:16:38 2020 -0500

    * src/default.c (default_variables) [AIX]: [SV 59096] Fix ARFLAGS
    Reported by Dmitry Goncharov <>, with a patch
    changing the pattern rule for building archives.  I decided to
    change the default value of ARFLAGS on AIX instead.

commit c01222c0181f9bb4297459663d13444ebfe3ad97
Author: Paul Smith <>
Date:   Fri Nov 27 11:37:29 2020 -0500

    [SV 35711] Check for special targets earlier
    GNU make must recognize some special targets as they are defined.
    Because of the way targets are defined, we were not recognizing these
    special targets until we were handling the NEXT statement.  However
    that's too late for some special targets such as .POSIX etc. which can
    change the behavior of make during parsing.
    Check for special targets earlier, as soon as we've finished parsing
    the target introduction line (before we've even parsed the recipe).
    * NEWS: Mention the change.
    * src/read.c (check_specials): New function to look for special
    targets.  Move checks from eval() and record_files() to this new
    (eval): Call check_specials() after we've completed parsing the target
    introduction line.  Move default goal detection to check_specials().
    (record_files): Move handling of .POSIX, .SECONDEXPANSION, and
    .ONESHELL to check_specials().
    * tests/scripts/misc/bs-nl: Remove workaround for late .POSIX issue.
    * tests/scripts/targets/POSIX: Add a comment.

commit 957aa450a073796513f9d4d815ef36ad00823be0
Author: Paul Smith <>
Date:   Sat Nov 28 12:27:49 2020 -0500

    * .ccls: Disable clang compare against static string warning


Summary of changes:
 .ccls                             |   1 +                       |  12 +-
 NEWS                              |  12 ++
 doc/make.texi                     |   5 +-
 maintMakefile                     |  18 +--
 src/arscan.c                      |  37 +++++-
 src/default.c                     |   7 +-
 src/dir.c                         | 258 +++++++++++++++++++++-----------------
 src/function.c                    |   5 +
 src/job.c                         |  11 +-
 src/main.c                        |   6 +
 src/makeint.h                     |   8 ++
 src/read.c                        | 215 ++++++++++++++++---------------
 src/remake.c                      |   2 +-
 src/variable.c                    | 122 ++++++++++--------
 src/variable.h                    |  15 ++-
 tests/scripts/features/dircache   |  31 +++++
 tests/scripts/features/export     |  22 +++-
 tests/scripts/features/targetvars | 140 ++++++++++++++++++++-
 tests/scripts/features/vpathgpath |   4 +-
 tests/scripts/misc/bs-nl          |   2 -
 tests/scripts/targets/POSIX       |   2 +
 tests/scripts/variables/SHELL     |   9 +-
 23 files changed, 626 insertions(+), 318 deletions(-)
 create mode 100644 tests/scripts/features/dircache


reply via email to

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