11.5Srillig/* $NetBSD: opt_ldi.c,v 1.5 2022/04/24 09:04:12 rillig Exp $ */
21.1Srillig
31.1Srillig/*
41.1Srillig * Tests for the option '-ldi', which specifies where the variable names of
51.1Srillig * locally declared variables are placed.
61.3Srillig *
71.3Srillig * See also:
81.3Srillig *	opt_di.c
91.1Srillig */
101.1Srillig
111.5Srillig//indent input
121.1Srilligint global;
131.1Srillig
141.1Srilligvoid
151.1Srilligfunction(void)
161.1Srillig{
171.1Srillig	int local;
181.1Srillig}
191.5Srillig//indent end
201.1Srillig
211.5Srillig//indent run -ldi0
221.3Srilligint		global;
231.3Srillig
241.3Srilligvoid
251.3Srilligfunction(void)
261.3Srillig{
271.3Srillig	int local;
281.3Srillig}
291.5Srillig//indent end
301.3Srillig
311.5Srillig//indent run -ldi8
321.1Srilligint		global;
331.1Srillig
341.1Srilligvoid
351.1Srilligfunction(void)
361.1Srillig{
371.1Srillig	int	local;
381.1Srillig}
391.5Srillig//indent end
401.1Srillig
411.5Srillig//indent run -ldi24
421.1Srilligint		global;
431.1Srillig
441.1Srilligvoid
451.1Srilligfunction(void)
461.1Srillig{
471.1Srillig	int			local;
481.1Srillig}
491.5Srillig//indent end
501.2Srillig
511.2Srillig
521.2Srillig/*
531.2Srillig * A variable that has an ad-hoc struct/union/enum type does not need to be
541.2Srillig * indented to the right of the keyword 'struct', it only needs a single space
551.2Srillig * of indentation.
561.2Srillig *
571.2Srillig * Before NetBSD indent.c 1.151 from 2021-10-24, the indentation depended on
581.2Srillig * the length of the keyword 'struct', 'union' or 'enum', together with type
591.2Srillig * qualifiers like 'const' or the storage class like 'static'.
601.2Srillig */
611.5Srillig//indent input
621.2Srillig{
631.2Srillig	struct {
641.2Srillig		int member;
651.2Srillig	} var = {
661.2Srillig		3,
671.2Srillig	};
681.2Srillig}
691.5Srillig//indent end
701.2Srillig
711.2Srillig/*
721.3Srillig * Struct members use '-di' for indentation, no matter whether they are
731.2Srillig * declared globally or locally.
741.2Srillig */
751.5Srillig//indent run -ldi0
761.2Srillig{
771.2Srillig	struct {
781.2Srillig		int		member;
791.2Srillig	} var = {
801.2Srillig		3,
811.2Srillig	};
821.2Srillig}
831.5Srillig//indent end
841.2Srillig
851.5Srillig//indent run -ldi16
861.2Srillig{
871.2Srillig	struct {
881.2Srillig		int		member;
891.2Srillig	}		var = {
901.2Srillig		3,
911.2Srillig	};
921.2Srillig}
931.5Srillig//indent end
94