|
|
1.1 root 1: /* The Plum Hall Validation Suite for C
2: * Unpublished copyright (c) 1986-1991, Chiron Systems Inc and Plum Hall Inc.
3: * VERSION: 4
4: * DATE: 1993-01-01
5: * The "ANSI" mode of this suite corresponds to official ANSI C, X3.159-1989.
6: * As per your license agreement, your distribution is not to be moved or copied outside the Designated Site
7: * without specific permission from Plum Hall Inc.
8: */
9:
10: #include "defs.h"
11:
12: /*
13: * PREC1B -- try all operator pairs -- this file uses all binary operators
14: * in the first position (see prec 2 for the other way around).
15: */
16:
17: static void p1_17();
18: static void p1_18();
19: static void p1_19();
20: static void p1_20();
21: static void p1_21();
22: static void p1_22();
23: static void p1_23();
24: static void p1_24();
25: static void p1_25();
26: static void p1_26();
27: static void p1_27();
28: static void p1_28();
29: static void p1_29();
30: static void p1_30();
31: static void p1_31();
32: static void p1_32();
33: static void p1_33();
34: static void p1_34();
35: static void p1_35();
36:
37: void prec1b()
38: {
39: Filename = "prec1b.c";
40: p1_17(); /* * */
41: p1_18(); /* / */
42: p1_19(); /* % */
43: p1_20(); /* + */
44: p1_21(); /* - */
45: p1_22(); /* >> */
46: p1_23(); /* << */
47: p1_24(); /* > */
48: p1_25(); /* < */
49: p1_26(); /* >= */
50: p1_27(); /* <= */
51: p1_28(); /* == */
52: p1_29(); /* != */
53: p1_30(); /* & */
54: p1_31(); /* ^ */
55: p1_32(); /* | */
56: p1_33(); /* && */
57: p1_34(); /* || */
58: p1_35(); /* ?= */
59: }
60:
61: /* X * Y */
62: static void p1_17()
63: {
64: int i = 4;
65: int j = 3;
66: int k = 2;
67: iequals(__LINE__, i*j*k, 24);
68: iequals(__LINE__, i*j/k, 6);
69: iequals(__LINE__, i*j%k, 0);
70: iequals(__LINE__, i*j+k, 14);
71: iequals(__LINE__, i*j-k, 10);
72: iequals(__LINE__, i*j>>k, 3);
73: iequals(__LINE__, i*j<<k, 48);
74: iequals(__LINE__, i*j>k, 1);
75: iequals(__LINE__, i*j<k, 0);
76: iequals(__LINE__, i*j<=k, 0);
77: iequals(__LINE__, i*j>=k, 1);
78: iequals(__LINE__, i*j==k, 0);
79: iequals(__LINE__, i*j!=k, 1);
80: iequals(__LINE__, i*j&k, 0);
81: iequals(__LINE__, i*j^k, 14);
82: iequals(__LINE__, i*j|k, 14);
83: iequals(__LINE__, i*j&&k,1);
84: iequals(__LINE__, i*j||k, 1);
85: iequals(__LINE__, i*j?k:0, 2);
86: /* X*Y=Z is illegal */
87: /* X*Y*=Z is illegal */
88: /* X*Y/=Z is illegal */
89: /* X*Y%=Z is illegal */
90: /* X*Y+=Z is illegal */
91: /* X*Y-=Z is illegal */
92: /* X*Y<<=Z is illegal */
93: /* X*Y>>=Z is illegal */
94: /* X*Y&=Z is illegal */
95: /* X*Y^=Z is illegal */
96: /* X*Y|=Z is illegal */
97: iequals(__LINE__, (i*j,k), k);
98: }
99:
100: /* X / Y */
101: static void p1_18()
102: {
103: int i = 17;
104: int j = 3;
105: int k = 2;
106: iequals(__LINE__, i/j/k, 2);
107: iequals(__LINE__, i/j%k, 1);
108: iequals(__LINE__, i/j+k, 7);
109: iequals(__LINE__, i/j-k, 3);
110: iequals(__LINE__, i/j>>k, 1);
111: iequals(__LINE__, i/j<<k, 20);
112: iequals(__LINE__, i/j>k, 1);
113: iequals(__LINE__, i/j<k, 0);
114: iequals(__LINE__, i/j<=k, 0);
115: iequals(__LINE__, i/j>=k, 1);
116: iequals(__LINE__, i/j==k, 0);
117: iequals(__LINE__, i/j!=k, 1);
118: iequals(__LINE__, i/j&k, 0);
119: iequals(__LINE__, i/j^k, 7);
120: iequals(__LINE__, i/j|k, 7);
121: iequals(__LINE__, i/j&&k,1);
122: iequals(__LINE__, i/j||k, 1);
123: iequals(__LINE__, i/j?k:0, 2);
124: /* X/Y=Z is illegal */
125: /* X/Y*=Z is illegal */
126: /* X/Y/=Z is illegal */
127: /* X/Y%=Z is illegal */
128: /* X/Y+=Z is illegal */
129: /* X/Y-=Z is illegal */
130: /* X/Y<<=Z is illegal */
131: /* X/Y>>=Z is illegal */
132: /* X/Y&=Z is illegal */
133: /* X/Y^=Z is illegal */
134: /* X/Y|=Z is illegal */
135: iequals(__LINE__, (i/j,k), 2);
136: }
137:
138: /* X % Y */
139: static void p1_19()
140: {
141: int i = 17;
142: int j = 10;
143: int k = 2;
144: iequals(__LINE__, i%j%k, 1);
145: iequals(__LINE__, i%j+k, 9);
146: iequals(__LINE__, i%j-k, 5);
147: iequals(__LINE__, i%j>>k, 1);
148: iequals(__LINE__, i%j<<k, 28);
149: iequals(__LINE__, i%j>k, 1);
150: iequals(__LINE__, i%j<k, 0);
151: iequals(__LINE__, i%j<=k, 0);
152: iequals(__LINE__, i%j>=k, 1);
153: iequals(__LINE__, i%j==k, 0);
154: iequals(__LINE__, i%j!=k, 1);
155: iequals(__LINE__, i%j&k, 2);
156: iequals(__LINE__, i%j^k, 5);
157: iequals(__LINE__, i%j|k, 7);
158: iequals(__LINE__, i%j&&k,1);
159: iequals(__LINE__, i%j||k, 1);
160: iequals(__LINE__, i%j?k:0, 2);
161: /* X%Y=Z is illegal */
162: /* X%Y*=Z is illegal */
163: /* X%Y/=Z is illegal */
164: /* X%Y%=Z is illegal */
165: /* X%Y+=Z is illegal */
166: /* X%Y-=Z is illegal */
167: /* X%Y<<=Z is illegal */
168: /* X%Y>>=Z is illegal */
169: /* X%Y&=Z is illegal */
170: /* X%Y^=Z is illegal */
171: /* X%Y|=Z is illegal */
172: iequals(__LINE__, (i%j,k), 2);
173: }
174:
175: /* X + Y */
176: static void p1_20()
177: {
178: int i = 4;
179: int j = 3;
180: int k = 2;
181: iequals(__LINE__, i+j+k, 9);
182: iequals(__LINE__, i+j-k, 5);
183: iequals(__LINE__, i+j>>k, 1);
184: iequals(__LINE__, i+j<<k, 28);
185: iequals(__LINE__, i+j>k, 1);
186: iequals(__LINE__, i+j<k, 0);
187: iequals(__LINE__, i+j<=k, 0);
188: iequals(__LINE__, i+j>=k, 1);
189: iequals(__LINE__, i+j==k, 0);
190: iequals(__LINE__, i+j!=k, 1);
191: iequals(__LINE__, i+j&k, 2);
192: iequals(__LINE__, i+j^k, 5);
193: iequals(__LINE__, i+j|k, 7);
194: iequals(__LINE__, i+j&&k,1);
195: iequals(__LINE__, i+j||k, 1);
196: iequals(__LINE__, i+j?k:0, 2);
197: /* X+Y=Z is illegal */
198: /* X+Y*=Z is illegal */
199: /* X+Y/=Z is illegal */
200: /* X+Y%=Z is illegal */
201: /* X+Y+=Z is illegal */
202: /* X+Y-=Z is illegal */
203: /* X+Y<<=Z is illegal */
204: /* X+Y>>=Z is illegal */
205: /* X+Y&=Z is illegal */
206: /* X+Y^=Z is illegal */
207: /* X+Y|=Z is illegal */
208: iequals(__LINE__, (i+j,k), 2);
209: }
210:
211: /* X - Y */
212: static void p1_21()
213: {
214: int i = 9;
215: int j = 2;
216: int k = 2;
217: iequals(__LINE__, i-j-k, 5);
218: iequals(__LINE__, i-j>>k, 1);
219: iequals(__LINE__, i-j<<k, 28);
220: iequals(__LINE__, i-j>k, 1);
221: iequals(__LINE__, i-j<k, 0);
222: iequals(__LINE__, i-j<=k, 0);
223: iequals(__LINE__, i-j>=k, 1);
224: iequals(__LINE__, i-j==k, 0);
225: iequals(__LINE__, i-j!=k, 1);
226: iequals(__LINE__, i-j&k, 2);
227: iequals(__LINE__, i-j^k, 5);
228: iequals(__LINE__, i-j|k, 7);
229: iequals(__LINE__, i-j&&k,1);
230: iequals(__LINE__, i-j||k, 1);
231: iequals(__LINE__, i-j?k:0, 2);
232: /* X-Y=Z is illegal */
233: /* X-Y*=Z is illegal */
234: /* X-Y/=Z is illegal */
235: /* X-Y%=Z is illegal */
236: /* X-Y+=Z is illegal */
237: /* X-Y-=Z is illegal */
238: /* X-Y<<=Z is illegal */
239: /* X-Y>>=Z is illegal */
240: /* X-Y&=Z is illegal */
241: /* X-Y^=Z is illegal */
242: /* X-Y|=Z is illegal */
243: iequals(__LINE__, (i-j,k), 2);
244: }
245:
246: /* X >> Y */
247: static void p1_22()
248: {
249: int i = 28;
250: int j = 2;
251: int k = 2;
252: iequals(__LINE__, i>>j>>k, 1);
253: iequals(__LINE__, i>>j<<k, 28);
254: iequals(__LINE__, i>>j>k, 1);
255: iequals(__LINE__, i>>j<k, 0);
256: iequals(__LINE__, i>>j<=k, 0);
257: iequals(__LINE__, i>>j>=k, 1);
258: iequals(__LINE__, i>>j==k, 0);
259: iequals(__LINE__, i>>j!=k, 1);
260: iequals(__LINE__, i>>j&k, 2);
261: iequals(__LINE__, i>>j^k, 5);
262: iequals(__LINE__, i>>j|k, 7);
263: iequals(__LINE__, i>>j&&k,1);
264: iequals(__LINE__, i>>j||k, 1);
265: iequals(__LINE__, i>>j?k:0, 2);
266: /* X>>Y=Z is illegal */
267: /* X>>Y*=Z is illegal */
268: /* X>>Y/=Z is illegal */
269: /* X>>Y%=Z is illegal */
270: /* X>>Y+=Z is illegal */
271: /* X>>Y-=Z is illegal */
272: /* X>>Y<<=Z is illegal */
273: /* X>>Y>>=Z is illegal */
274: /* X>>Y&=Z is illegal */
275: /* X>>Y^=Z is illegal */
276: /* X>>Y|=Z is illegal */
277: iequals(__LINE__, (i>>j,k), 2);
278: }
279:
280: /* X << Y */
281: static void p1_23()
282: {
283: int i = 4;
284: int j = 3;
285: int k = 2;
286: iequals(__LINE__, i<<j<<k, 128);
287: iequals(__LINE__, i<<j>k, 1);
288: iequals(__LINE__, i<<j<k, 0);
289: iequals(__LINE__, i<<j<=k, 0);
290: iequals(__LINE__, i<<j>=k, 1);
291: iequals(__LINE__, i<<j==k, 0);
292: iequals(__LINE__, i<<j!=k, 1);
293: iequals(__LINE__, i<<j&k, 0);
294: iequals(__LINE__, i<<j^k, 34);
295: iequals(__LINE__, i<<j|k, 34);
296: iequals(__LINE__, i<<j&&k,1);
297: iequals(__LINE__, i<<j||k, 1);
298: iequals(__LINE__, i<<j?k:0, 2);
299: /* X<<Y=Z is illegal */
300: /* X<<Y*=Z is illegal */
301: /* X<<Y/=Z is illegal */
302: /* X<<Y%=Z is illegal */
303: /* X<<Y+=Z is illegal */
304: /* X<<Y-=Z is illegal */
305: /* X<<Y<<=Z is illegal */
306: /* X<<Y>>=Z is illegal */
307: /* X<<Y&=Z is illegal */
308: /* X<<Y^=Z is illegal */
309: /* X<<Y|=Z is illegal */
310: iequals(__LINE__, (i<<j,k), 2);
311: }
312:
313: /* X > Y */
314: static void p1_24()
315: {
316: int i = 4;
317: int j = 3;
318: int k = 2;
319: iequals(__LINE__, i>j>k, 0);
320: iequals(__LINE__, i>j<k, 1);
321: iequals(__LINE__, i>j<=k, 1);
322: iequals(__LINE__, i>j>=k, 0);
323: iequals(__LINE__, i>j==k, 0);
324: iequals(__LINE__, i>j!=k, 1);
325: iequals(__LINE__, i>j&k, 0);
326: iequals(__LINE__, i>j^k, 3);
327: iequals(__LINE__, i>j|k, 3);
328: iequals(__LINE__, i>j&&k,1);
329: iequals(__LINE__, i>j||k, 1);
330: iequals(__LINE__, i>j?k:0, 2);
331: /* X>Y=Z is illegal */
332: /* X>Y*=Z is illegal */
333: /* X>Y/=Z is illegal */
334: /* X>Y%=Z is illegal */
335: /* X>Y+=Z is illegal */
336: /* X>Y-=Z is illegal */
337: /* X>Y<<=Z is illegal */
338: /* X>Y>>=Z is illegal */
339: /* X>Y&=Z is illegal */
340: /* X>Y^=Z is illegal */
341: /* X>Y|=Z is illegal */
342: iequals(__LINE__, (i>j,k), 2);
343: }
344:
345: /* X < Y */
346: static void p1_25()
347: {
348: int i = 4;
349: int j = 3;
350: int k = 2;
351: iequals(__LINE__, i<j<k, 1);
352: iequals(__LINE__, i<j<=k, 1);
353: iequals(__LINE__, i<j>=k, 0);
354: iequals(__LINE__, i<j==k, 0);
355: iequals(__LINE__, i<j!=k, 1);
356: iequals(__LINE__, i<j&k, 0);
357: iequals(__LINE__, i<j^k, 2);
358: iequals(__LINE__, i<j|k, 2);
359: iequals(__LINE__, i<j&&k,0);
360: iequals(__LINE__, i<j||k, 1);
361: iequals(__LINE__, i<j?k:0, 0);
362: /* X<Y=Z is illegal */
363: /* X<Y*=Z is illegal */
364: /* X<Y/=Z is illegal */
365: /* X<Y%=Z is illegal */
366: /* X<Y+=Z is illegal */
367: /* X<Y-=Z is illegal */
368: /* X<Y<<=Z is illegal */
369: /* X<Y>>=Z is illegal */
370: /* X<Y&=Z is illegal */
371: /* X<Y^=Z is illegal */
372: /* X<Y|=Z is illegal */
373: iequals(__LINE__, (i<j,k), 2);
374: }
375:
376: /* X <= Y */
377: static void p1_26()
378: {
379: int i = 4;
380: int j = 3;
381: int k = 2;
382: iequals(__LINE__, i<=j<=k, 1);
383: iequals(__LINE__, i<=j>=k, 0);
384: iequals(__LINE__, i<=j==k, 0);
385: iequals(__LINE__, i<=j!=k, 1);
386: iequals(__LINE__, i<=j&k, 0);
387: iequals(__LINE__, i<=j^k, 2);
388: iequals(__LINE__, i<=j|k, 2);
389: iequals(__LINE__, i<=j&&k,0);
390: iequals(__LINE__, i<=j||k, 1);
391: iequals(__LINE__, i<=j?k:0, 0);
392: /* X<=Y=Z is illegal */
393: /* X<=Y*=Z is illegal */
394: /* X<=Y/=Z is illegal */
395: /* X<=Y%=Z is illegal */
396: /* X<=Y+=Z is illegal */
397: /* X<=Y-=Z is illegal */
398: /* X<=Y<<=Z is illegal */
399: /* X<=Y>>=Z is illegal */
400: /* X<=Y&=Z is illegal */
401: /* X<=Y^=Z is illegal */
402: /* X<=Y|=Z is illegal */
403: iequals(__LINE__, (i<=j,k), 2);
404: }
405:
406: /* X >= Y */
407: static void p1_27()
408: {
409: int i = 4;
410: int j = 3;
411: int k = 2;
412: iequals(__LINE__, i>=j>=k, 0);
413: iequals(__LINE__, i>=j==k, 0);
414: iequals(__LINE__, i>=j!=k, 1);
415: iequals(__LINE__, i>=j&k, 0);
416: iequals(__LINE__, i>=j^k, 3);
417: iequals(__LINE__, i>=j|k, 3);
418: iequals(__LINE__, i>=j&&k,1);
419: iequals(__LINE__, i>=j||k, 1);
420: iequals(__LINE__, i>=j?k:0, 2);
421: /* X>=Y=Z is illegal */
422: /* X>=Y*=Z is illegal */
423: /* X>=Y/=Z is illegal */
424: /* X>=Y%=Z is illegal */
425: /* X>=Y+=Z is illegal */
426: /* X>=Y-=Z is illegal */
427: /* X>=Y<<=Z is illegal */
428: /* X>=Y>>=Z is illegal */
429: /* X>=Y&=Z is illegal */
430: /* X>=Y^=Z is illegal */
431: /* X>=Y|=Z is illegal */
432: iequals(__LINE__, (i>=j,k), 2);
433: }
434:
435: /* X == Y */
436: static void p1_28()
437: {
438: int i = 4;
439: int j = 3;
440: int k = 2;
441: iequals(__LINE__, i==j==k, 0);
442: iequals(__LINE__, i==j!=k, 1);
443: iequals(__LINE__, i==j&k, 0);
444: iequals(__LINE__, i==j^k, 2);
445: iequals(__LINE__, i==j|k, 2);
446: iequals(__LINE__, i==j&&k,0);
447: iequals(__LINE__, i==j||k, 1);
448: iequals(__LINE__, i==j?k:0, 0);
449: /* X==Y=Z is illegal */
450: /* X==Y*=Z is illegal */
451: /* X==Y/=Z is illegal */
452: /* X==Y%=Z is illegal */
453: /* X==Y+=Z is illegal */
454: /* X==Y-=Z is illegal */
455: /* X==Y<<=Z is illegal */
456: /* X==Y>>=Z is illegal */
457: /* X==Y&=Z is illegal */
458: /* X==Y^=Z is illegal */
459: /* X==Y|=Z is illegal */
460: iequals(__LINE__, (i==j,k), 2);
461: }
462:
463: /* X != Y */
464: static void p1_29()
465: {
466: int i = 4;
467: int j = 3;
468: int k = 2;
469: iequals(__LINE__, i!=j!=k, 1);
470: iequals(__LINE__, i!=j&k, 0);
471: iequals(__LINE__, i!=j^k, 3);
472: iequals(__LINE__, i!=j|k, 3);
473: iequals(__LINE__, i!=j&&k,1);
474: iequals(__LINE__, i!=j||k, 1);
475: iequals(__LINE__, i!=j?k:0, 2);
476: /* X!=Y=Z is illegal */
477: /* X!=Y*=Z is illegal */
478: /* X!=Y/=Z is illegal */
479: /* X!=Y%=Z is illegal */
480: /* X!=Y+=Z is illegal */
481: /* X!=Y-=Z is illegal */
482: /* X!=Y<<=Z is illegal */
483: /* X!=Y>>=Z is illegal */
484: /* X!=Y&=Z is illegal */
485: /* X!=Y^=Z is illegal */
486: /* X!=Y|=Z is illegal */
487: iequals(__LINE__, (i!=j,k), 2);
488: }
489:
490: /* X & Y */
491: static void p1_30()
492: {
493: int i = 4;
494: int j = 3;
495: int k = 2;
496: iequals(__LINE__, i&j&k, 0);
497: iequals(__LINE__, i&j^k, 2);
498: iequals(__LINE__, i&j|k, 2);
499: iequals(__LINE__, i&j&&k,0);
500: iequals(__LINE__, i&j||k, 1);
501: iequals(__LINE__, i&j?k:0, 0);
502: /* X&Y=Z is illegal */
503: /* X&Y*=Z is illegal */
504: /* X&Y/=Z is illegal */
505: /* X&Y%=Z is illegal */
506: /* X&Y+=Z is illegal */
507: /* X&Y-=Z is illegal */
508: /* X&Y<<=Z is illegal */
509: /* X&Y>>=Z is illegal */
510: /* X&Y&=Z is illegal */
511: /* X&Y^=Z is illegal */
512: /* X&Y|=Z is illegal */
513: iequals(__LINE__, (i&j,k), 2);
514: }
515:
516: /* X ^ Y */
517: static void p1_31()
518: {
519: int i = 4;
520: int j = 3;
521: int k = 2;
522: iequals(__LINE__, i^j^k, 5);
523: iequals(__LINE__, i^j|k, 7);
524: iequals(__LINE__, i^j&&k,1);
525: iequals(__LINE__, i^j||k, 1);
526: iequals(__LINE__, i^j?k:0, 2);
527: /* X^Y=Z is illegal */
528: /* X^Y*=Z is illegal */
529: /* X^Y/=Z is illegal */
530: /* X^Y%=Z is illegal */
531: /* X^Y+=Z is illegal */
532: /* X^Y-=Z is illegal */
533: /* X^Y<<=Z is illegal */
534: /* X^Y>>=Z is illegal */
535: /* X^Y&=Z is illegal */
536: /* X^Y^=Z is illegal */
537: /* X^Y|=Z is illegal */
538: iequals(__LINE__, (i^j,k), 2);
539: }
540:
541: /* X | Y */
542: static void p1_32()
543: {
544: int i = 4;
545: int j = 3;
546: int k = 2;
547: iequals(__LINE__, i|j|k, 7);
548: iequals(__LINE__, i|j&&k,1);
549: iequals(__LINE__, i|j||k, 1);
550: iequals(__LINE__, i|j?k:0, 2);
551: /* X|Y=Z is illegal */
552: /* X|Y*=Z is illegal */
553: /* X|Y/=Z is illegal */
554: /* X|Y%=Z is illegal */
555: /* X|Y+=Z is illegal */
556: /* X|Y-=Z is illegal */
557: /* X|Y<<=Z is illegal */
558: /* X|Y>>=Z is illegal */
559: /* X|Y&=Z is illegal */
560: /* X|Y^=Z is illegal */
561: /* X|Y|=Z is illegal */
562: iequals(__LINE__, (i|j,k), 2);
563: }
564:
565: /* X && Y */
566: static void p1_33()
567: {
568: int i = 4;
569: int j = 3;
570: int k = 2;
571: iequals(__LINE__, i&&j&&k, 1);
572: iequals(__LINE__, i&&j||k, 1);
573: iequals(__LINE__, i&&j?k:0, 2);
574: /* X&&Y=Z is illegal */
575: /* X&&Y*=Z is illegal */
576: /* X&&Y/=Z is illegal */
577: /* X&&Y%=Z is illegal */
578: /* X&&Y+=Z is illegal */
579: /* X&&Y-=Z is illegal */
580: /* X&&Y<<=Z is illegal */
581: /* X&&Y>>=Z is illegal */
582: /* X&&Y&=Z is illegal */
583: /* X&&Y^=Z is illegal */
584: /* X&&Y|=Z is illegal */
585: iequals(__LINE__, (i&&j,k), 2);
586: }
587:
588: /* X || Y */
589: static void p1_34()
590: {
591: int i = 4;
592: int j = 3;
593: int k = 2;
594: iequals(__LINE__, i||j||k, 1);
595: iequals(__LINE__, i||j?k:0, 2);
596: /* X||Y=Z is illegal */
597: /* X||Y*=Z is illegal */
598: /* X||Y/=Z is illegal */
599: /* X||Y%=Z is illegal */
600: /* X||Y+=Z is illegal */
601: /* X||Y-=Z is illegal */
602: /* X||Y<<=Z is illegal */
603: /* X||Y>>=Z is illegal */
604: /* X||Y&=Z is illegal */
605: /* X||Y^=Z is illegal */
606: /* X||Y|=Z is illegal */
607: iequals(__LINE__, (i||j,k), 2);
608: }
609:
610: /* X ? Y : Z */
611: static void p1_35()
612: {
613: int i = 0;
614: int j = 3;
615: int k = 2;
616: iequals(__LINE__, i? j : j?k:0, 2);
617: /* X?:Y=Z is illegal */
618: /* X?:Y*=Z is illegal */
619: /* X?:Y/=Z is illegal */
620: /* X?:Y%=Z is illegal */
621: /* X?:Y+=Z is illegal */
622: /* X?:Y-=Z is illegal */
623: /* X?:Y<<=Z is illegal */
624: /* X?:Y>>=Z is illegal */
625: /* X?:Y&=Z is illegal */
626: /* X?:Y^=Z is illegal */
627: /* X?:Y|=Z is illegal */
628: iequals(__LINE__, (i?j:j,k), 2);
629: }
630:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.