1*148ee845SSimon J. Gerraty# $NetBSD: directive-include-fatal.mk,v 1.4 2023/06/01 20:56:35 rillig Exp $
2956e45f6SSimon J. Gerraty#
3956e45f6SSimon J. Gerraty# Test for the .include directive combined with fatal errors.
4956e45f6SSimon J. Gerraty#
5956e45f6SSimon J. Gerraty# At 2020-09-13, the code in Parse_File that sets "fatals = 0" looked
6956e45f6SSimon J. Gerraty# suspicious, as if it were possible to suppress fatal errors by including
7956e45f6SSimon J. Gerraty# another file.  It was a false alarm though, since Parse_File only handles
8956e45f6SSimon J. Gerraty# the top-level makefiles from the command line.  Any included files are
9dba7b0efSSimon J. Gerraty# handled by IncludeFile instead, and that function does not reset
10956e45f6SSimon J. Gerraty# the "fatals" counter.
11956e45f6SSimon J. Gerraty
12956e45f6SSimon J. Gerraty# Using an undefined variable in a condition generates a fatal error.
13*148ee845SSimon J. Gerraty# expect+1: Malformed conditional (${UNDEF})
14956e45f6SSimon J. Gerraty.if ${UNDEF}
15956e45f6SSimon J. Gerraty.endif
16956e45f6SSimon J. Gerraty
17956e45f6SSimon J. Gerraty# Including another file does not reset the global variable "fatals".
18956e45f6SSimon J. Gerraty# The exit status will be 1.
19956e45f6SSimon J. Gerraty.include "/dev/null"
20956e45f6SSimon J. Gerraty
21956e45f6SSimon J. Gerraty# Adding another file to be included has no effect either.
22956e45f6SSimon J. Gerraty# When the command line is parsed, the additional file is only enqueued
23956e45f6SSimon J. Gerraty# in the global "makefiles" variable, but not immediately run through
24956e45f6SSimon J. Gerraty# Parse_File.
25956e45f6SSimon J. Gerraty.MAKEFLAGS: -f "/dev/null"
26956e45f6SSimon J. Gerraty
27956e45f6SSimon J. Gerratyall:
28956e45f6SSimon J. Gerraty	@:;
29