1 1.18 rillig /* $NetBSD: opt_pcs.c,v 1.18 2023/06/16 23:07:52 rillig Exp $ */ 2 1.1 rillig 3 1.3 rillig /* 4 1.3 rillig * Tests for the options '-pcs' and '-npcs'. 5 1.3 rillig * 6 1.3 rillig * The option '-pcs' adds a space in a function call expression, between the 7 1.3 rillig * function name and the opening parenthesis. 8 1.3 rillig * 9 1.3 rillig * The option '-npcs' removes any whitespace from a function call expression, 10 1.3 rillig * between the function name and the opening parenthesis. 11 1.3 rillig */ 12 1.3 rillig 13 1.13 rillig //indent input 14 1.1 rillig void 15 1.1 rillig example(void) 16 1.1 rillig { 17 1.1 rillig function_call(); 18 1.3 rillig function_call (1); 19 1.3 rillig function_call (1,2,3); 20 1.1 rillig } 21 1.13 rillig //indent end 22 1.1 rillig 23 1.13 rillig //indent run -pcs 24 1.1 rillig void 25 1.1 rillig example(void) 26 1.1 rillig { 27 1.1 rillig function_call (); 28 1.1 rillig function_call (1); 29 1.1 rillig function_call (1, 2, 3); 30 1.1 rillig } 31 1.13 rillig //indent end 32 1.1 rillig 33 1.13 rillig //indent run -npcs 34 1.1 rillig void 35 1.1 rillig example(void) 36 1.1 rillig { 37 1.1 rillig function_call(); 38 1.1 rillig function_call(1); 39 1.1 rillig function_call(1, 2, 3); 40 1.1 rillig } 41 1.13 rillig //indent end 42 1.4 rillig 43 1.6 rillig 44 1.13 rillig //indent input 45 1.7 rillig void ( * signal ( void ( * handler ) ( int ) ) ) ( int ) ; 46 1.6 rillig int var = (function)(arg); 47 1.13 rillig //indent end 48 1.6 rillig 49 1.13 rillig //indent run -di0 -pcs 50 1.10 rillig void (*signal (void (*handler) (int))) (int); 51 1.14 rillig // $ This may be a function call or a cast, depending on the context. 52 1.15 rillig int var = (function) (arg); 53 1.13 rillig //indent end 54 1.8 rillig 55 1.13 rillig //indent run -di0 -npcs 56 1.7 rillig void (*signal(void (*handler)(int)))(int); 57 1.7 rillig int var = (function)(arg); 58 1.13 rillig //indent end 59 1.7 rillig 60 1.9 rillig 61 1.4 rillig /* 62 1.4 rillig * The option '-pcs' also applies to 'sizeof' and 'offsetof', even though 63 1.4 rillig * these are not functions. 64 1.4 rillig */ 65 1.13 rillig //indent input 66 1.4 rillig int sizeof_type = sizeof (int); 67 1.4 rillig int sizeof_type = sizeof(int); 68 1.4 rillig int sizeof_expr = sizeof (0); 69 1.4 rillig int sizeof_expr = sizeof(0); 70 1.4 rillig int sizeof_expr = sizeof 0; 71 1.4 rillig 72 1.4 rillig int offset = offsetof(struct s, member); 73 1.4 rillig int offset = offsetof (struct s, member); 74 1.13 rillig //indent end 75 1.4 rillig 76 1.5 rillig /* The option '-pcs' overrides '-nbs'. */ 77 1.13 rillig //indent run -pcs -di0 -nbs 78 1.4 rillig int sizeof_type = sizeof (int); 79 1.4 rillig int sizeof_type = sizeof (int); 80 1.4 rillig int sizeof_expr = sizeof (0); 81 1.4 rillig int sizeof_expr = sizeof (0); 82 1.4 rillig int sizeof_expr = sizeof 0; 83 1.4 rillig 84 1.4 rillig int offset = offsetof (struct s, member); 85 1.4 rillig int offset = offsetof (struct s, member); 86 1.13 rillig //indent end 87 1.4 rillig 88 1.5 rillig /* 89 1.5 rillig * If the option '-npcs' is given, '-bs' can still specialize it. This only 90 1.5 rillig * applies to 'sizeof', but not 'offsetof'. 91 1.5 rillig */ 92 1.13 rillig //indent run -npcs -di0 -bs 93 1.5 rillig int sizeof_type = sizeof (int); 94 1.5 rillig int sizeof_type = sizeof (int); 95 1.5 rillig int sizeof_expr = sizeof (0); 96 1.5 rillig int sizeof_expr = sizeof (0); 97 1.5 rillig int sizeof_expr = sizeof 0; 98 1.5 rillig 99 1.5 rillig int offset = offsetof(struct s, member); 100 1.5 rillig int offset = offsetof(struct s, member); 101 1.13 rillig //indent end 102 1.5 rillig 103 1.13 rillig //indent run -npcs -di0 104 1.4 rillig int sizeof_type = sizeof(int); 105 1.4 rillig int sizeof_type = sizeof(int); 106 1.4 rillig int sizeof_expr = sizeof(0); 107 1.4 rillig int sizeof_expr = sizeof(0); 108 1.4 rillig int sizeof_expr = sizeof 0; 109 1.4 rillig 110 1.4 rillig int offset = offsetof(struct s, member); 111 1.4 rillig int offset = offsetof(struct s, member); 112 1.13 rillig //indent end 113 1.16 rillig 114 1.16 rillig 115 1.16 rillig //indent input 116 1.16 rillig int unary = +call(); 117 1.18 rillig int postfix = step++(); 118 1.16 rillig int binary = 1 + call(); 119 1.16 rillig //indent end 120 1.16 rillig 121 1.16 rillig //indent run-equals-input -npcs -di0 122 1.16 rillig 123 1.16 rillig //indent run -pcs -di0 124 1.16 rillig int unary = +call (); 125 1.17 rillig int postfix = step++ (); 126 1.16 rillig int binary = 1 + call (); 127 1.16 rillig //indent end 128