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