OpenSDE Packages Database (without history before r20070)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.6 KiB

  1. # --- SDE-COPYRIGHT-NOTE-BEGIN ---
  2. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  3. #
  4. # Filename: package/.../make/make-3.82-0010-intermediate-parallel.patch
  5. # Copyright (C) 2012 The OpenSDE Project
  6. #
  7. # More information can be found in the files COPYING and README.
  8. #
  9. # This patch file is dual-licensed. It is available under the license the
  10. # patched project is licensed under, as long as it is an OpenSource license
  11. # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
  12. # of the GNU General Public License as published by the Free Software
  13. # Foundation; either version 2 of the License, or (at your option) any later
  14. # version.
  15. # --- SDE-COPYRIGHT-NOTE-END ---
  16. From b1260285aca75246e8028d1b5221304540bd59c7 Mon Sep 17 00:00:00 2001
  17. From: Christian Wiese <chris@opensde.org>
  18. Date: Mon, 22 Oct 2012 18:15:13 +0200
  19. Subject: [PATCH] intermediate parallel
  20. ChangeLog:
  21. 2012-09-09 Paul Smith <psmith@gnu.org>
  22. * remake.c (update_file_1): Force intermediate files to be
  23. considered, not pruned, if their non-intermediate parent needs to
  24. be remade. Fixes Savannah bug #30653.
  25. ---
  26. remake.c | 4 ++++
  27. tests/scripts/features/parallelism | 17 +++++++++++++++++
  28. 2 files changed, 21 insertions(+), 0 deletions(-)
  29. diff --git a/remake.c b/remake.c
  30. index 27d2550..a8d7cdf 100644
  31. --- a/remake.c
  32. +++ b/remake.c
  33. @@ -614,6 +614,10 @@ update_file_1 (struct file *file, unsigned int depth)
  34. d->file->dontcare = file->dontcare;
  35. }
  36. + /* We may have already considered this file, when we didn't know
  37. + we'd need to update it. Force update_file() to consider it and
  38. + not prune it. */
  39. + d->file->considered = !considered;
  40. dep_status |= update_file (d->file, depth);
  41. diff --git a/tests/scripts/features/parallelism b/tests/scripts/features/parallelism
  42. index 6122412..090827b 100644
  43. --- a/tests/scripts/features/parallelism
  44. +++ b/tests/scripts/features/parallelism
  45. @@ -211,6 +211,23 @@ rm main.x");
  46. rmfiles(qw(foo.y foo.y.in main.bar));
  47. }
  48. +# Ensure intermediate/secondary files are not pruned incorrectly.
  49. +# See Savannah bug #30653
  50. +
  51. +utouch(-15, 'file2');
  52. +utouch(-10, 'file4');
  53. +utouch(-5, 'file1');
  54. +
  55. +run_make_test(q!
  56. +.INTERMEDIATE: file3
  57. +file4: file3 ; @mv -f $< $@
  58. +file3: file2 ; touch $@
  59. +file2: file1 ; @touch $@
  60. +!,
  61. + '--no-print-directory -j2', "touch file3");
  62. +
  63. +#rmfiles('file1', 'file2', 'file3', 'file4');
  64. +
  65. if ($all_tests) {
  66. # Jobserver FD handling is messed up in some way.
  67. # Savannah bug #28189
  68. --
  69. 1.7.2.3