#include <stdio.h>
void testlimits(int i) {
- printf("%d:",i);
+ printf("%d:",i);
- switch(i) {
- case -1: /* works */
- /* case 0xffff: */ /* 'range error' (-1) */
+ switch(i) {
+ case -1: /* works */
+ /* case 0xffff: */ /* 'range error' (-1) */
- printf("-1\n");
- break;
- /* max int */
+ printf("-1\n");
+ break;
+ /* max int */
-/* case 0x7fff: */ /* works */
- case 32767: /* works */
- /* case 32768: */ /* 'range error' (correct for that one!) */
+/* case 0x7fff: */ /* works */
+ case 32767: /* works */
+ /* case 32768: */ /* 'range error' (correct for that one!) */
- printf("max\n");
- break;
- /* min int */
+ printf("max\n");
+ break;
+ /* min int */
- case -32768: /* 'warning. constant is long' */
- /* case 0x8000: */ /* 'range error' */
- /* case -32769: */ /* 'range error' (correct for that one!) */
- printf("min\n");
- break;
- }
- printf("\n");
+ case -32768: /* 'warning. constant is long' */
+ /* case 0x8000: */ /* 'range error' */
+ /* case -32769: */ /* 'range error' (correct for that one!) */
+ printf("min\n");
+ break;
+ }
+ printf("\n");
}
void testdefault1(unsigned char i) {
#else
char k;
#endif
-
+
#else
-
+
#ifdef UNSIGNED_CHARS
signed char k;
#else
#endif
- for(;i<254;) {
- k = i;
- printf(">%d\n",i);i++;
- switch(k) {
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:
- break;
- case 6:
- break;
- case 7:
- break;
- case 8:
- break;
- case 9:
- break;
- case 10:
- break;
- case 11:
- break;
- case 12:
- break;
- case 13:
- break;
- case 14:
- break;
- case 15:
- break;
- case 17:
- break;
- /* triggers bug ? */
- /* gcc warning: case label value exceeds maximum value for type */
- /* cc65 error: range error */
+ for(;i<254;) {
+ k = i;
+ printf(">%d\n",i);i++;
+ switch(k) {
+ case 1:
+ break;
+ case 2:
+ break;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ break;
+ case 6:
+ break;
+ case 7:
+ break;
+ case 8:
+ break;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ break;
+ case 12:
+ break;
+ case 13:
+ break;
+ case 14:
+ break;
+ case 15:
+ break;
+ case 17:
+ break;
+ /* triggers bug ? */
+ /* gcc warning: case label value exceeds maximum value for type */
+ /* cc65 error: range error */
- /*
- case 170:
- break;
- */
- case 18:
- break;
- case 19:
- break;
- case 20:
- break;
- case 21:
- break;
- case 22:
- break;
- case 23:
- break;
- case 24:
- switch(k) {
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- case 5:
- break;
- case 6:
- case 7:
- break;
- case 8:
- case 9:
- break;
- }
- break;
- case 100:
- break;
- default:
- printf(">>>default\n");
- /* triggers bug if this break; is missing? */
- /* break; */
- }
- }
+ /*
+ case 170:
+ break;
+ */
+ case 18:
+ break;
+ case 19:
+ break;
+ case 20:
+ break;
+ case 21:
+ break;
+ case 22:
+ break;
+ case 23:
+ break;
+ case 24:
+ switch(k) {
+ case 1:
+ break;
+ case 2:
+ break;
+ case 3:
+ break;
+ case 4:
+ case 5:
+ break;
+ case 6:
+ case 7:
+ break;
+ case 8:
+ case 9:
+ break;
+ }
+ break;
+ case 100:
+ break;
+ default:
+ printf(">>>default\n");
+ /* triggers bug if this break; is missing? */
+ /* break; */
+ }
+ }
}
void testdefault2(unsigned char i) {
#else
unsigned char k;
#endif
-
+
#else
-
+
#ifdef UNSIGNED_CHARS
char k;
#else
#endif
- for(;i<254;) {
- k = i;
- printf(">%d\n",i);i++;
- switch(k) {
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:
- break;
- case 6:
- break;
- case 7:
- break;
- case 8:
- break;
- case 9:
- break;
- case 10:
- break;
- case 11:
- break;
- case 12:
- break;
- case 13:
- break;
- case 14:
- break;
- case 15:
- break;
- case 17:
- break;
- /* triggers bug ? */
+ for(;i<254;) {
+ k = i;
+ printf(">%d\n",i);i++;
+ switch(k) {
+ case 1:
+ break;
+ case 2:
+ break;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ break;
+ case 6:
+ break;
+ case 7:
+ break;
+ case 8:
+ break;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ break;
+ case 12:
+ break;
+ case 13:
+ break;
+ case 14:
+ break;
+ case 15:
+ break;
+ case 17:
+ break;
+ /* triggers bug ? */
- case 170:
- break;
-
- case 18:
- break;
- case 19:
- break;
- case 20:
- break;
- case 21:
- break;
- case 22:
- break;
- case 23:
- break;
- case 24:
- switch(k) {
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- case 5:
- break;
- case 6:
- case 7:
- break;
- case 8:
- case 9:
- break;
- }
- break;
- case 100:
- break;
- default:
- printf(">>>default\n");
- /* triggers bug if this break; is missing? */
- /* break; */
- }
- }
+ case 170:
+ break;
+
+ case 18:
+ break;
+ case 19:
+ break;
+ case 20:
+ break;
+ case 21:
+ break;
+ case 22:
+ break;
+ case 23:
+ break;
+ case 24:
+ switch(k) {
+ case 1:
+ break;
+ case 2:
+ break;
+ case 3:
+ break;
+ case 4:
+ case 5:
+ break;
+ case 6:
+ case 7:
+ break;
+ case 8:
+ case 9:
+ break;
+ }
+ break;
+ case 100:
+ break;
+ default:
+ printf(">>>default\n");
+ /* triggers bug if this break; is missing? */
+ /* break; */
+ }
+ }
}
int main(void) {
- testlimits(32767);
- testlimits(-32768);
- testlimits(-1);
-
- testdefault1(1);
- testdefault1(2);
- testdefault1(3);
- testdefault1(4);
-
- testdefault2(1);
- testdefault2(2);
- testdefault2(3);
- testdefault2(4);
+ testlimits(32767);
+ testlimits(-32768);
+ testlimits(-1);
+
+ testdefault1(1);
+ testdefault1(2);
+ testdefault1(3);
+ testdefault1(4);
+
+ testdefault2(1);
+ testdefault2(2);
+ testdefault2(3);
+ testdefault2(4);
- return 0;
+ return 0;
}