opt_dj.c revision 1.9
11.9Srillig/* $NetBSD: opt_dj.c,v 1.9 2023/06/26 12:21:18 rillig Exp $ */
21.1Srillig
31.2Srillig/*
41.2Srillig * Tests for the options '-dj' and '-ndj'.
51.2Srillig *
61.5Srillig * The option '-dj' left-justifies declarations of local variables.
71.2Srillig *
81.2Srillig * The option '-ndj' indents declarations the same as code.
91.2Srillig */
101.2Srillig
111.2Srillig/* For top-level declarations, '-dj' and '-ndj' produce the same output. */
121.7Srillig//indent input
131.1Srilligint i;
141.1Srilligint *ip;
151.1Srilligconst char *ccp;
161.1Srilligconst void *****vppppp;
171.1Srilligconst void ******vpppppp;
181.1Srilligconst void ********vpppppppp;
191.7Srillig//indent end
201.1Srillig
211.7Srillig//indent run -dj
221.1Srilligint		i;
231.1Srilligint	       *ip;
241.1Srilligconst char     *ccp;
251.1Srilligconst void *****vppppp;
261.1Srilligconst void ******vpppppp;
271.1Srilligconst void ********vpppppppp;
281.7Srillig//indent end
291.1Srillig
301.7Srillig//indent run-equals-prev-output -ndj
311.2Srillig
321.4Srillig
331.7Srillig//indent input
341.2Srilligvoid example(void) {
351.2Srillig	int decl;
361.2Srillig	code();
371.2Srillig}
381.7Srillig//indent end
391.2Srillig
401.7Srillig//indent run -dj
411.2Srilligvoid
421.2Srilligexample(void)
431.2Srillig{
441.2Srilligint		decl;
451.2Srillig	code();
461.2Srillig}
471.7Srillig//indent end
481.2Srillig
491.7Srillig//indent run -ndj
501.2Srilligvoid
511.2Srilligexample(void)
521.2Srillig{
531.2Srillig	int		decl;
541.2Srillig	code();
551.2Srillig}
561.7Srillig//indent end
571.5Srillig
581.5Srillig
591.5Srillig/*
601.5Srillig * The option '-dj' does not influence traditional function definitions.
611.5Srillig */
621.7Srillig//indent input
631.5Srilligdouble
641.5Srilligdbl_plus3(a, b, c)
651.5Srilligdouble a, b, c;
661.5Srillig{
671.5Srillig	return a + b + c;
681.5Srillig}
691.7Srillig//indent end
701.5Srillig
711.7Srillig//indent run -dj
721.5Srilligdouble
731.5Srilligdbl_plus3(a, b, c)
741.5Srillig	double		a, b, c;
751.5Srillig{
761.5Srillig	return a + b + c;
771.5Srillig}
781.7Srillig//indent end
791.8Srillig
801.8Srillig
811.8Srillig//indent input
821.8Srilligstruct a {
831.8Srillig	struct b {
841.8Srillig		struct c {
851.8Srillig			struct d1 {
861.8Srillig				int e;
871.8Srillig			} d1;
881.8Srillig			struct d2 {
891.8Srillig				int e;
901.8Srillig			} d2;
911.8Srillig		} c;
921.8Srillig	} b;
931.8Srillig};
941.8Srillig//indent end
951.8Srillig
961.8Srillig//indent run -d0
971.8Srilligstruct a {
981.8Srillig	struct b {
991.8Srillig		struct c {
1001.8Srillig			struct d1 {
1011.8Srillig				int		e;
1021.8Srillig			}		d1;
1031.8Srillig			struct d2 {
1041.8Srillig				int		e;
1051.8Srillig			}		d2;
1061.8Srillig		}		c;
1071.8Srillig	}		b;
1081.8Srillig};
1091.8Srillig//indent end
1101.8Srillig
1111.9Srillig//indent run-equals-prev-output -dj
1121.9Srillig
1131.8Srillig//indent run-equals-input -di0
1141.8Srillig
1151.8Srillig
1161.8Srillig//indent input
1171.8Srillig{
1181.8Srillig	{
1191.8Srillig		struct a {
1201.8Srillig			struct b {
1211.8Srillig				struct c {
1221.8Srillig					struct d1 {
1231.8Srillig						int e;
1241.8Srillig					} d1;
1251.8Srillig					struct d2 {
1261.8Srillig						int e;
1271.8Srillig					} d2;
1281.8Srillig				} c;
1291.8Srillig			} b;
1301.8Srillig		};
1311.8Srillig	}
1321.8Srillig}
1331.8Srillig//indent end
1341.8Srillig
1351.8Srillig//indent run -dj
1361.8Srillig{
1371.8Srillig	{
1381.8Srilligstruct a {
1391.8Srillig	struct b {
1401.8Srillig		struct c {
1411.8Srillig			struct d1 {
1421.8Srillig				int		e;
1431.8Srillig			}		d1;
1441.8Srillig			struct d2 {
1451.8Srillig				int		e;
1461.8Srillig			}		d2;
1471.8Srillig		}		c;
1481.8Srillig	}		b;
1491.8Srillig};
1501.8Srillig	}
1511.8Srillig}
1521.8Srillig//indent end
153