1/* $NetBSD: opt_bs.c,v 1.10 2022/04/24 09:04:12 rillig Exp $ */ 2 3/* 4 * Tests for the options '-bs' and '-nbs' ("blank after sizeof"). 5 * 6 * The option '-bs' forces a space after the keyword 'sizeof'. 7 * 8 * The option '-nbs' removes horizontal whitespace after the keyword 'sizeof', 9 * unless the next token is a word as well. 10 */ 11 12//indent input 13void 14example(int i) 15{ 16 print(sizeof(i)); 17 print(sizeof(int)); 18 19 print(sizeof i); 20 print(sizeof (i)); 21 print(sizeof (int)); 22 23 print(sizeof i); 24 print(sizeof (i)); 25 print(sizeof (int)); 26} 27//indent end 28 29//indent run -bs 30void 31example(int i) 32{ 33 print(sizeof (i)); 34 print(sizeof (int)); 35 36 print(sizeof i); 37 print(sizeof (i)); 38 print(sizeof (int)); 39 40 print(sizeof i); 41 print(sizeof (i)); 42 print(sizeof (int)); 43} 44//indent end 45 46//indent run -nbs 47void 48example(int i) 49{ 50 print(sizeof(i)); 51 print(sizeof(int)); 52 53 print(sizeof i); 54 print(sizeof(i)); 55 print(sizeof(int)); 56 57 print(sizeof i); 58 print(sizeof(i)); 59 print(sizeof(int)); 60} 61//indent end 62 63 64/* 65 * The option '-bs' only affects 'sizeof', not 'offsetof', even though these 66 * two keywords are syntactically similar. 67 */ 68//indent input 69int sizeof_type = sizeof (int); 70int sizeof_type = sizeof(int); 71int sizeof_expr = sizeof (0); 72int sizeof_expr = sizeof(0); 73int sizeof_expr = sizeof 0; 74 75int offset = offsetof(struct s, member); 76int offset = offsetof (struct s, member); 77//indent end 78 79//indent run -pcs -di0 80int sizeof_type = sizeof (int); 81int sizeof_type = sizeof (int); 82int sizeof_expr = sizeof (0); 83int sizeof_expr = sizeof (0); 84int sizeof_expr = sizeof 0; 85 86int offset = offsetof (struct s, member); 87int offset = offsetof (struct s, member); 88//indent end 89 90//indent run -npcs -di0 91int sizeof_type = sizeof(int); 92int sizeof_type = sizeof(int); 93int sizeof_expr = sizeof(0); 94int sizeof_expr = sizeof(0); 95int sizeof_expr = sizeof 0; 96 97int offset = offsetof(struct s, member); 98int offset = offsetof(struct s, member); 99//indent end 100 101 102/* Ensure that there is no blank before 'sizeof(' if there is a '\n' between. */ 103//indent input 104int sizeof_newline = sizeof 105(0); 106//indent end 107 108//indent run-equals-input -di0 -bs 109 110//indent run-equals-input -di0 -nbs 111 112 113/* Ensure that only the first '(' after 'sizeof' gets a blank. */ 114//indent input 115int sizeof_parenthesized = sizeof((0)); 116//indent end 117 118//indent run -di0 -bs 119int sizeof_parenthesized = sizeof ((0)); 120//indent end 121 122//indent run-equals-input -di0 -nbs 123