opt_ldi.c revision 1.3
11.3Srillig/* $NetBSD: opt_ldi.c,v 1.3 2021/11/20 16:54:17 rillig Exp $ */
21.1Srillig/* $FreeBSD$ */
31.1Srillig
41.1Srillig/*
51.1Srillig * Tests for the option '-ldi', which specifies where the variable names of
61.1Srillig * locally declared variables are placed.
71.3Srillig *
81.3Srillig * See also:
91.3Srillig *	opt_di.c
101.1Srillig */
111.1Srillig
121.1Srillig#indent input
131.1Srilligint global;
141.1Srillig
151.1Srilligvoid
161.1Srilligfunction(void)
171.1Srillig{
181.1Srillig	int local;
191.1Srillig}
201.1Srillig#indent end
211.1Srillig
221.3Srillig#indent run -ldi0
231.3Srilligint		global;
241.3Srillig
251.3Srilligvoid
261.3Srilligfunction(void)
271.3Srillig{
281.3Srillig	int local;
291.3Srillig}
301.3Srillig#indent end
311.3Srillig
321.1Srillig#indent run -ldi8
331.1Srilligint		global;
341.1Srillig
351.1Srilligvoid
361.1Srilligfunction(void)
371.1Srillig{
381.1Srillig	int	local;
391.1Srillig}
401.1Srillig#indent end
411.1Srillig
421.1Srillig#indent run -ldi24
431.1Srilligint		global;
441.1Srillig
451.1Srilligvoid
461.1Srilligfunction(void)
471.1Srillig{
481.1Srillig	int			local;
491.1Srillig}
501.1Srillig#indent end
511.2Srillig
521.2Srillig
531.2Srillig/*
541.2Srillig * A variable that has an ad-hoc struct/union/enum type does not need to be
551.2Srillig * indented to the right of the keyword 'struct', it only needs a single space
561.2Srillig * of indentation.
571.2Srillig *
581.2Srillig * Before NetBSD indent.c 1.151 from 2021-10-24, the indentation depended on
591.2Srillig * the length of the keyword 'struct', 'union' or 'enum', together with type
601.2Srillig * qualifiers like 'const' or the storage class like 'static'.
611.2Srillig */
621.2Srillig#indent input
631.2Srillig{
641.2Srillig	struct {
651.2Srillig		int member;
661.2Srillig	} var = {
671.2Srillig		3,
681.2Srillig	};
691.2Srillig}
701.2Srillig#indent end
711.2Srillig
721.2Srillig/*
731.3Srillig * Struct members use '-di' for indentation, no matter whether they are
741.2Srillig * declared globally or locally.
751.2Srillig */
761.2Srillig#indent run -ldi0
771.2Srillig{
781.2Srillig	struct {
791.2Srillig		int		member;
801.2Srillig	} var = {
811.2Srillig		3,
821.2Srillig	};
831.2Srillig}
841.2Srillig#indent end
851.2Srillig
861.2Srillig#indent run -ldi16
871.2Srillig{
881.2Srillig	struct {
891.2Srillig		int		member;
901.2Srillig	}		var = {
911.2Srillig		3,
921.2Srillig	};
931.2Srillig}
941.2Srillig#indent end
95