128
fmtstrinit(&pragcgobuf);
101
131
tufield = simplet((1L<<tfield->etype) | BUNSIGNED);
109
if(c >= 0 && c < sizeof(debug))
113
case 'l': /* for little-endian mips */
115
print("can only use -l with vc\n");
130
defs = allocn(defs, ndef*sizeof(char *),
142
if(argc < 1 && outfile == 0) {
143
print("usage: %cc [-options] files\n", thechar);
137
flagcount("+", "pass -+ to preprocessor", &debug['+']);
138
flagcount(".", "pass -. to preprocessor", &debug['.']);
139
flagcount("<", "debug shift", &debug['<']);
140
flagcount("A", "debug alignment", &debug['A']);
141
flagcount("B", "allow pre-ANSI code", &debug['B']);
143
flagcount("C", "debug constant propagation", &debug['C']);
144
flagfn1("D", "name[=value]: add #define", dodef);
145
flagcount("F", "enable print format checks", &debug['F']);
147
flagcount("H", "debug shift propagation", &debug['H']);
148
flagfn1("I", "dir: add dir to include path", setinclude);
149
flagcount("L", "debug lexer", &debug['L']);
150
flagcount("M", "debug move generation", &debug['M']);
151
flagcount("N", "disable optimizations", &debug['N']);
152
flagcount("P", "debug peephole optimizer", &debug['P']);
153
flagcount("Q", "print exported Go definitions", &debug['Q']);
154
flagcount("R", "debug register optimizer", &debug['R']);
155
flagcount("S", "print assembly", &debug['S']);
156
flagcount("T", "enable type signatures", &debug['T']);
157
flagcount("V", "enable pointer type checks", &debug['V']);
158
flagcount("W", "debug switch generation", &debug['W']);
159
flagcount("X", "abort on error", &debug['X']);
160
flagcount("Y", "debug index generation", &debug['Y']);
161
flagcount("Z", "skip code generation", &debug['Z']);
162
flagcount("a", "print acid definitions", &debug['a']);
163
flagcount("c", "debug constant evaluation", &debug['c']);
164
flagcount("d", "debug declarations", &debug['d']);
165
flagcount("e", "debug macro expansion", &debug['e']);
166
flagcount("f", "debug pragmas", &debug['f']);
167
flagcount("g", "debug code generation", &debug['g']);
168
flagcount("i", "debug initialization", &debug['i']);
170
flagfn0("l", "little-endian mips mode", dospim);
171
flagcount("m", "debug multiplication", &debug['m']);
172
flagcount("n", "print acid/Go to file, not stdout", &debug['n']);
173
flagstr("o", "file: set output file", &outfile);
174
flagcount("p", "invoke C preprocessor", &debug['p']);
175
flagcount("q", "print Go definitions", &debug['q']);
176
flagcount("s", "print #define assembly offsets", &debug['s']);
177
flagcount("t", "debug code generation", &debug['t']);
178
flagcount("w", "enable warnings", &debug['w']);
179
flagcount("v", "increase debug verbosity", &debug['v']);
181
flagcount("largemodel", "generate code that assumes a large memory model", &flag_largemodel);
183
flagparse(&argc, &argv, usage);
185
if(argc < 1 && outfile == 0)
147
189
print("can't compile multiple files\n");