and though bugs are the bane of my existence, rest assured the wretched thing will get the best of care here

This project is mirrored from https://git.savannah.gnu.org/git/make.git. Pull mirroring failed .
Last successful update .
  1. 10 Jun, 2016 1 commit
  2. 06 Jun, 2016 1 commit
  3. 31 May, 2016 4 commits
    • Jeremy Devenport's avatar
      * main.c (main): [SV 48009] Reset stack limit for make re-exec. · a3d8c086
      Jeremy Devenport authored
      Copyright-paperwork-exempt: yes
      a3d8c086
    • Paul Smith's avatar
      [SV 47995] Ensure forced double-colon rules work with -j. · 4762480a
      Paul Smith authored
      The fix for SV 44742 had a side-effect that some double-colon targets
      were skipped.  This happens because the "considered" facility assumed
      that all targets would be visited on each walk through the dependency
      graph: we used a bit for considered and toggled it on each pass; if
      we didn't walk the entire graph on every pass the bit would get out
      of sync.  The new behavior after SV 44742 might return early without
      walking the entire graph.  To fix this I changed the considered value
      to an integer which is monotonically increasing: it is then never
      possible to incorrectly determine that a previous pass through the
      graph already considered the current target.
      
      * filedef.h (struct file): make CONSIDERED an unsigned int.
      * main.c (main): No longer need to reset CONSIDERED.
      * remake.c (update_goal_chain): increment CONSIDERED rather than
      inverting it between 0<->1.
      (update_file_1): Reset CONSIDERED to 0 so it's re-considered.
      (check_dep): Ditto.
      * tests/scripts/features/double_colon: Add a regression test.
      4762480a
    • Paul Smith's avatar
      * DELETE_ON_ERROR: [SV 48061] Use "exit 1" for portability. · ef6c059e
      Paul Smith authored
      Reported by Joel Fredrikson <Joel.Fredrikson@it.uu.se>
      ef6c059e
    • Paul Smith's avatar
      cf4ed2eb
  4. 28 May, 2016 1 commit
  5. 27 May, 2016 1 commit
  6. 22 May, 2016 1 commit
  7. 21 May, 2016 6 commits
    • Joe Crayne's avatar
      [SV 44742] Fix double-colon rules plus parallel builds. · 9bb994e8
      Joe Crayne authored
      * remake.c (update_file): Don't update double-colon target status
      if we're still building targets.
      (ftime_t): Don't propagate timestamps for double-colon targets that
      we've not examined yet.
      * tests/scripts/features/double_colon: Add parallel build tests.
      
      Copyright-paperwork-exempt: yes
      9bb994e8
    • Paul Smith's avatar
      * read.c (eval): [SV 47960] Skip record waiting files when ignoring. · e2ebea35
      Paul Smith authored
      * tests/scripts/features/conditionals: Test this scenario.
      e2ebea35
    • Paul Smith's avatar
      Separate the GNU make load ABI from internal types. · c73ed7dd
      Paul Smith authored
      Create an internal type "floc" and convert all users to that type.
      * gnumake.h (gmk_floc): Remove the offset field from this type.
      * loadapi.c (gmk_eval): Convert gmk_floc to internal floc.
      c73ed7dd
    • Paul Eggert's avatar
      Fixes for enhanced GCC warnings. · ba8383ef
      Paul Eggert authored
      Move function prototypes into header files and out of .c files.
      Use void argument lists for functions that accept no args.
      Remove unused macros.  Make private functions static.  Align
      types with printf format characters.
      ba8383ef
    • Paul Smith's avatar
      Fix compile issues with Windows and VMS. · 6f7fb050
      Paul Smith authored
      * main.c (initialize_stopchar_map): isblank() is not part of C89.
      Install bits for space and tab directly.
      * makeint.h: Don't define vfork; autoconf handles this for us.
      * vmsjobs.c: Rename NEXT_TOKEN to V_NEXT_TOKEN to avoid conflicts.
      * dir.c (print_dir_data_base): Visual Studio C doesn't have int64_t.
      * w32/subproc/sub_proc.c (process_begin): Missing arg to memset().
      * build_w32.bat: Don't use obsolete Visual Studio flags.
      6f7fb050
    • Paul Smith's avatar
      Allow compiling with an ISO C 1989/1990 compiler. · 45200a42
      Paul Smith authored
      * posixos.c (jobserver_post_child): Use C89 for loop syntax.
      * remake.c (update_goal_chain): Ditto.
      * variable.c (parse_variable_definition): Ditto.
      45200a42
  8. 17 May, 2016 1 commit
  9. 24 Apr, 2016 1 commit
    • Eli Zaretskii's avatar
      Fix the MS-Windows MinGW build · 6e640321
      Eli Zaretskii authored
      * build_w32.bat (GccCompile): Use -std=gnu99, as some code uses
      C99 features ('for' loop initial declarations).
      
      * dir.c (print_dir_data_base) [WINDOWS32]: Cast 'mtime' to
      'int64_t', and use %I64d to print it, to avoid compile-time
      warning about printing a 'time_t' value, which could be either
      a 32-bit or a 64 bit integral type.
      6e640321
  10. 23 Apr, 2016 1 commit
  11. 11 Apr, 2016 3 commits
    • Paul Smith's avatar
      * NEWS: Update for pre-release · c2be1df8
      Paul Smith authored
      c2be1df8
    • Paul Smith's avatar
      f1a96250
    • Paul Smith's avatar
      [SV 46433] Show recipe line offsets in line number messages. · 047bd5a1
      Paul Smith authored
      While displaying line numbers, show the relevant line number inside
      the recipe not just the first line of the entire recipe.
      Sample changes suggested by Brian Vandenberg <phantall@gmail.com>
      
      * gnumake.h (gmk_floc): Add an 'offset' to track the recipe offset.
      * read.c (eval, eval_makefile, eval_buffer): Initialize 'offset'.
      (record_files, install_pattern_rule): Ditto.
      * job.c (new_job, job_next_command): Update 'offset' based on the
      line of the recipe we're expanding or invoking.
      (child_error): Add 'offset' when showing the line number.
      * function.c (func_shell_base): Ditto.
      * output.c (error, fatal): Ditto.
      * NEWS: Mention the new ability.
      * tests/scripts/features/errors: Check the line number on errors.
      * tests/scripts/functions/warning: Check the line number on warnings.
      * tests/scripts/features/output-sync,
      tests/scripts/features/parallelism, tests/scripts/functions/shell,
      tests/scripts/functions/error: Update line numbers.
      047bd5a1
  12. 10 Apr, 2016 2 commits
    • Paul Smith's avatar
    • Paul Smith's avatar
      [SV 102] Don't show unnecessary include file errors. · 87a5f98d
      Paul Smith authored
      Delay the generation of error messages for included files until we
      are sure that we can't rebuild that included file.
      * dep.h (struct dep): Don't reuse "changed"; make a separate field
      to keep "flags".  Get rid of dontcare and use the flag.
      (struct goaldep): Create a new structure for goal prereqs
      that tracks an errno value and the floc where the include happened.
      Rework the structures to ensure they are supersets as expected.
      In maintainer mode with GCC, use inline to get type checking.
      * read.c (eval_makefile): Return a struct goaldep for the new
      makefile.  Ensure errno is set properly to denote a failure.
      (read_all_makefiles): Switch to goaldep and check errno.
      (eval): Don't show included file errors; instead remember them.
      * remake.c (update_goal_chain): Set global variables to the current
      goaldep we're building, and the entire chain.
      (show_goal_error): Check if the current failure is a consequence
      of building an included makefile and if so print an error.
      (complain): Call show_goal_error() on rule failure.
      * job.c (child_error): Call show_goal_error() on child error.
      * main.c (main): Switch from struct dep to goaldep.
      * misc.c (free_dep_chain): Not used; make into a macro.
      * tests/scripts/features/include: Update and include new tests.
      * tests/scripts/options/dash-B, tests/scripts/options/dash-W,
      tests/scripts/options/print-directory,
      tests/scripts/variables/MAKE_RESTARTS: Update known-good-output.
      87a5f98d
  13. 09 Apr, 2016 1 commit
  14. 04 Apr, 2016 9 commits
  15. 23 Mar, 2016 3 commits
    • Paul Smith's avatar
      * tests/run_make_tests.pl: Preserve $make_command · 40277b88
      Paul Smith authored
      * tests/scripts/options/dash-n: Use $make_command.  This fixes
      a spurious failure when running tests with valgrind enabled.
      40277b88
    • Paul Smith's avatar
      * variable.c: Clean up some memory leaks. · 35047f82
      Paul Smith authored
      35047f82
    • Paul Smith's avatar
      [SV 46995] Strip leading/trailing space from variable names · e9715974
      Paul Smith authored
      * makeint.h: Change MAP_SPACE to MAP_NEWLINE, and add MAP_PATHSEP
      and MAP_SPACE which is now MAP_BLANK|MAP_NEWLINE.  Create
      NEW_TOKEN(), END_OF_TOKEN(), ISBLANK(), ISSPACE() macros.
      * main.c (initialize_stopchar_map): Set MAP_NEWLINE only for
      newline characters.
      * Convert all uses of isblank() and isspace() to macros.
      * Examine all uses of isblank() (doesn't accept newlines) and
      change them wherever possible to ISSPACE() (does accept newlines).
      * function.c (func_foreach): Strip leading/trailing space.
      * variable.c (parse_variable_definition): Clean up.
      * tests/scripts/functions/foreach: Test settings and errors.
      * tests/scripts/functions/call: Rewrite to new-style.
      * tests/scripts/misc/bs-nl: Add many more tests for newlines.
      e9715974
  16. 21 Mar, 2016 1 commit
  17. 20 Mar, 2016 2 commits
  18. 19 Mar, 2016 1 commit