View | Details | Raw Unified | Return to bug 44801
Collapse All | Expand All

(-)a/make/src/file.c (+3 lines)
Lines 883-894 snap_deps (void) Link Here
883
      if (!f->deps)
883
      if (!f->deps)
884
        not_parallel = 1;
884
        not_parallel = 1;
885
      else
885
      else
886
      {
886
        /* Set a wait point between every prerequisite of each target.  */
887
        /* Set a wait point between every prerequisite of each target.  */
887
        for (d = f->deps; d != NULL; d = d->next)
888
        for (d = f->deps; d != NULL; d = d->next)
888
          for (f2 = d->file; f2 != NULL; f2 = f2->prev)
889
          for (f2 = d->file; f2 != NULL; f2 = f2->prev)
889
            if (f2->deps)
890
            if (f2->deps)
890
              for (d2 = f2->deps->next; d2 != NULL; d2 = d2->next)
891
              for (d2 = f2->deps->next; d2 != NULL; d2 = d2->next)
891
                d2->wait_here = 1;
892
                d2->wait_here = 1;
893
        not_parallel = 1;
894
      }
892
    }
895
    }
893
896
894
  {
897
  {
(-)a/make/tests/scripts/targets/WAIT (-29 lines)
Lines 140-173 pre = .WAIT pre1 .WAIT pre2 | .WAIT pre3 Link Here
140
!,
140
!,
141
              '-j10', "start-pre1\nend-pre1\npre2\npre3\n");
141
              '-j10', "start-pre1\nend-pre1\npre2\npre3\n");
142
142
143
# Verify NOTPARALLEL works
144
145
run_make_test(q!
146
all : pre1 pre2
147
pre1: ; @#HELPER# -q out start-$@ sleep 1 out end-$@
148
pre2: ; @#HELPER# -q out $@
149
150
.NOTPARALLEL:
151
!,
152
              '-j10', "start-pre1\nend-pre1\npre2\n");
153
154
run_make_test(q!
155
all : p1 .WAIT np1
156
157
p1: pre1 pre2
158
pre1: ; @#HELPER# -q out start-$@ file PRE1 wait PRE2 out end-$@
159
pre2: ; @#HELPER# -q wait PRE1 out $@ file PRE2
160
161
162
np1: npre1 npre2
163
npre1: ; @#HELPER# -q out start-$@ sleep 1 out end-$@
164
npre2: ; @#HELPER# -q out $@
165
166
.NOTPARALLEL: np1
167
!,
168
              '-j10', "start-pre1\npre2\nend-pre1\nstart-npre1\nend-npre1\nnpre2\n");
169
unlink(qw(PRE1 PRE2));
170
171
# Ensure we don't shuffle if .WAIT is set
143
# Ensure we don't shuffle if .WAIT is set
172
144
173
run_make_test(q!
145
run_make_test(q!
174
- 

Return to bug 44801