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