xref: /freebsd/contrib/bmake/unit-tests/suff-transform-endless.mk (revision 06b9b3e0ad0dc3f0166b3e8f26ced68c271cf527)
1*06b9b3e0SSimon J. Gerraty# $NetBSD: suff-transform-endless.mk,v 1.4 2020/11/23 14:47:12 rillig Exp $
2956e45f6SSimon J. Gerraty
3956e45f6SSimon J. Gerraty# https://gnats.netbsd.org/49086, issue 6:
4956e45f6SSimon J. Gerraty# Transformation search can end up in an infinite loop.
5956e45f6SSimon J. Gerraty#
6956e45f6SSimon J. Gerraty# There is no file or target from which issue6.f could be made, so
7956e45f6SSimon J. Gerraty# this should fail.  The bug is that because rules .e.f, .d.e and .e.d
8956e45f6SSimon J. Gerraty# exist, make would try to make .f from .e and then infinitely try
9956e45f6SSimon J. Gerraty# to do .e from .d and vice versa.
10956e45f6SSimon J. Gerraty
11*06b9b3e0SSimon J. Gerraty.MAKEFLAGS: -ds
12*06b9b3e0SSimon J. Gerraty
13956e45f6SSimon J. Gerratyall: issue6.f
14956e45f6SSimon J. Gerraty
15956e45f6SSimon J. Gerraty.c.d .d.c .d .d.e .e.d:
16956e45f6SSimon J. Gerraty	: 'Making ${.TARGET} from ${.IMPSRC}.'
17956e45f6SSimon J. Gerraty
18956e45f6SSimon J. Gerraty.SUFFIXES: .c .d .e .f
19956e45f6SSimon J. Gerraty
20956e45f6SSimon J. Gerraty.e .e.f .f.e:
21*06b9b3e0SSimon J. Gerraty	: 'Making ${.TARGET} from ${.IMPSRC}.'
22956e45f6SSimon J. Gerraty
23956e45f6SSimon J. Gerraty# XXX: As of 2020-10-20, the result is unexpected.
24956e45f6SSimon J. Gerraty# XXX: .d.c is not a transformation rule.
25956e45f6SSimon J. Gerraty# XXX: .d is not a transformation rule.
26956e45f6SSimon J. Gerraty# XXX: .e.d is not a transformation rule.
27956e45f6SSimon J. Gerraty# XXX: .c.d is listed as "Files that are only sources".
28956e45f6SSimon J. Gerraty# XXX: .d.e is listed as "Files that are only sources".
29956e45f6SSimon J. Gerraty# XXX: The suffixes .d and .f both have the number 3.
30956e45f6SSimon J. Gerraty# XXX: .c.d is not listed as "Transformations".
31956e45f6SSimon J. Gerraty# XXX: .d.c is not listed as "Transformations".
32956e45f6SSimon J. Gerraty# XXX: .d is not listed as "Transformations".
33956e45f6SSimon J. Gerraty# XXX: .d.e is not listed as "Transformations".
34956e45f6SSimon J. Gerraty# XXX: .e.d is not listed as "Transformations".
35956e45f6SSimon J. Gerraty# XXX: Found 'all' as '(not found)'
36956e45f6SSimon J. Gerraty# XXX: trying all.e, all.e, all.f, all.e, all.e, repeatedly.
37956e45f6SSimon J. Gerraty#.MAKEFLAGS: -dg1
38*06b9b3e0SSimon J. Gerraty
39*06b9b3e0SSimon J. Gerraty# Before 24-11-2020, resolving all.e ran into an endless loop.
40