1 1.9 rillig # $NetBSD: directive-else.mk,v 1.9 2023/11/19 21:47:52 rillig Exp $ 2 1.1 rillig # 3 1.2 rillig # Tests for the .else directive. 4 1.7 rillig # 5 1.7 rillig # Since 2020-11-13, an '.else' followed by extraneous text generates a parse 6 1.7 rillig # error in -dL (lint) mode. 7 1.7 rillig # 8 1.7 rillig # Since 2020-12-15, an '.else' followed by extraneous text always generates 9 1.7 rillig # a parse error. 10 1.1 rillig 11 1.3 rillig .if 0 12 1.4 rillig . warning must not be reached 13 1.8 rillig # expect+1: The .else directive does not take arguments 14 1.3 rillig .else 123 15 1.8 rillig # expect+1: ok 16 1.4 rillig . info ok 17 1.3 rillig .endif 18 1.3 rillig 19 1.3 rillig .if 1 20 1.8 rillig # expect+1: ok 21 1.4 rillig . info ok 22 1.8 rillig # expect+1: The .else directive does not take arguments 23 1.3 rillig .else 123 24 1.4 rillig . warning must not be reached 25 1.3 rillig .endif 26 1.3 rillig 27 1.3 rillig # An .else without a corresponding .if is an error. 28 1.8 rillig # expect+1: if-less else 29 1.3 rillig .else 30 1.3 rillig 31 1.3 rillig # Accidental extra .else directives are detected too. 32 1.3 rillig .if 0 33 1.4 rillig . warning must not be reached 34 1.3 rillig .else 35 1.8 rillig # expect+1: ok 36 1.4 rillig . info ok 37 1.8 rillig # expect+1: warning: extra else 38 1.3 rillig .else 39 1.4 rillig . info After an extra .else, everything is skipped. 40 1.3 rillig .endif 41 1.1 rillig 42 1.5 rillig # An .else may have a comment. This comment does not count as an argument, 43 1.5 rillig # therefore no parse error. 44 1.5 rillig .if 0 45 1.5 rillig .else # comment 46 1.5 rillig .endif 47 1.5 rillig 48 1.9 rillig # An expression does count as an argument, even if it is empty. 49 1.5 rillig .if 0 50 1.8 rillig # expect+1: The .else directive does not take arguments 51 1.5 rillig .else ${:U} 52 1.5 rillig .endif 53 1.5 rillig 54 1.1 rillig all: 55 1.1 rillig @:; 56