]> git.sur5r.net Git - cc65/blobdiff - test/ref/switch2.c
remote TABs in doc/ and test/
[cc65] / test / ref / switch2.c
index e75cfe71efa6c957c3fe7c3d2d71b7f4f65201a9..7884f3722897b70c57604f063801ca17c2c332a5 100644 (file)
-/*\r
-  !!DESCRIPTION!! switch test\r
-  !!ORIGIN!!\r
-  !!LICENCE!!     public domain\r
-*/\r
-\r
-/*#define STANDALONE*/\r
-\r
-#include <stdio.h>\r
-\r
+/*
+  !!DESCRIPTION!! switch test
+  !!ORIGIN!!
+  !!LICENCE!!     public domain
+*/
+
+/*#define STANDALONE*/
+
+#include <stdio.h>
+
 void testlimits(int i) {
-       printf("%d:",i);\r
-\r
-       switch(i) {
-               case -1:        /* works */\r
-               /* case 0xffff: */ /* 'range error' (-1) */\r
-\r
-                       printf("-1\n");\r
-                       break;\r
-               /* max int */\r
-\r
-/*              case 0x7fff:   */         /* works */\r
-               case 32767:                /* works */\r
-               /* case 32768: */          /* 'range error' (correct for that one!) */\r
-\r
-                       printf("max\n");\r
-                       break;\r
-               /* min int */\r
-\r
-               case -32768:               /* 'warning. constant is long' */\r
-               /* case 0x8000: */             /* 'range error' */\r
-               /* case -32769: */         /* 'range error' (correct for that one!) */\r
-                       printf("min\n");\r
-                       break;\r
-       }\r
-       printf("\n");\r
-}\r
-\r
-void testdefault1(unsigned char i) {\r
-/* we want a signed char */\r
-#ifdef REFCC\r
-\r
-#ifdef REFCC_UNSIGNED_CHARS\r
-signed char k;\r
-#else\r
-char k;\r
-#endif\r
-       \r
-#else\r
-       \r
-#ifdef UNSIGNED_CHARS\r
-signed char k;\r
-#else\r
-char k;\r
-#endif\r
-\r
-#endif\r
-\r
-       for(;i<254;) {\r
-               k = i;\r
-               printf(">%d\n",i);i++;\r
-               switch(k) {\r
-               case 1:\r
-                       break;\r
-               case 2:\r
-                       break;\r
-               case 3:\r
-                       break;\r
-               case 4:\r
-                       break;\r
-               case 5:\r
-                       break;\r
-               case 6:\r
-                       break;\r
-               case 7:\r
-                       break;\r
-               case 8:\r
-                       break;\r
-               case 9:\r
-                       break;\r
-               case 10:\r
-                       break;\r
-               case 11:\r
-                       break;\r
-               case 12:\r
-                       break;\r
-               case 13:\r
-                       break;\r
-               case 14:\r
-                       break;\r
-               case 15:\r
-                       break;\r
-               case 17:\r
-                       break;\r
-               /* triggers bug ? */\r
-               /* gcc warning: case label value exceeds maximum value for type */\r
-               /* cc65 error: range error */\r
-\r
-               /*\r
-               case 170:\r
-                       break;\r
-               */\r
-               case 18:\r
-                       break;\r
-               case 19:\r
-                       break;\r
-               case 20:\r
-                       break;\r
-               case 21:\r
-                       break;\r
-               case 22:\r
-                       break;\r
-               case 23:\r
-                       break;\r
-               case 24:\r
-                       switch(k) {\r
-                               case 1:\r
-                                       break;\r
-                               case 2:\r
-                                       break;\r
-                               case 3:\r
-                                       break;\r
-                               case 4:\r
-                               case 5:\r
-                               break;\r
-                               case 6:\r
-                               case 7:\r
-                                       break;\r
-                               case 8:\r
-                               case 9:\r
-                                       break;\r
-                               }\r
-                       break;\r
-               case 100:\r
-                       break;\r
-               default:\r
-                       printf(">>>default\n");\r
-                       /* triggers bug if this break; is missing? */\r
-                       /* break; */\r
-               }\r
-       }\r
-}\r
-\r
-void testdefault2(unsigned char i) {\r
-/* we want a unsigned char */\r
-#ifdef REFCC\r
-\r
-#ifdef REFCC_UNSIGNED_CHARS\r
-char k;\r
-#else\r
-unsigned char k;\r
-#endif\r
-       \r
-#else\r
-       \r
-#ifdef UNSIGNED_CHARS\r
-char k;\r
-#else\r
-unsigned char k;\r
-#endif\r
-\r
-#endif\r
-\r
-       for(;i<254;) {\r
-               k = i;\r
-               printf(">%d\n",i);i++;\r
-               switch(k) {\r
-               case 1:\r
-                       break;\r
-               case 2:\r
-                       break;\r
-               case 3:\r
-                       break;\r
-               case 4:\r
-                       break;\r
-               case 5:\r
-                       break;\r
-               case 6:\r
-                       break;\r
-               case 7:\r
-                       break;\r
-               case 8:\r
-                       break;\r
-               case 9:\r
-                       break;\r
-               case 10:\r
-                       break;\r
-               case 11:\r
-                       break;\r
-               case 12:\r
-                       break;\r
-               case 13:\r
-                       break;\r
-               case 14:\r
-                       break;\r
-               case 15:\r
-                       break;\r
-               case 17:\r
-                       break;\r
-               /* triggers bug ? */\r
-\r
-               case 170:\r
-                       break;\r
-               \r
-               case 18:\r
-                       break;\r
-               case 19:\r
-                       break;\r
-               case 20:\r
-                       break;\r
-               case 21:\r
-                       break;\r
-               case 22:\r
-                       break;\r
-               case 23:\r
-                       break;\r
-               case 24:\r
-                       switch(k) {\r
-                               case 1:\r
-                                       break;\r
-                               case 2:\r
-                                       break;\r
-                               case 3:\r
-                                       break;\r
-                               case 4:\r
-                               case 5:\r
-                               break;\r
-                               case 6:\r
-                               case 7:\r
-                                       break;\r
-                               case 8:\r
-                               case 9:\r
-                                       break;\r
-                               }\r
-                       break;\r
-               case 100:\r
-                       break;\r
-               default:\r
-                       printf(">>>default\n");\r
-                       /* triggers bug if this break; is missing? */\r
-                       /* break; */\r
-               }\r
-       }\r
+        printf("%d:",i);
+
+        switch(i) {
+                case -1:        /* works */
+                /* case 0xffff: */ /* 'range error' (-1) */
+
+                        printf("-1\n");
+                        break;
+                /* max int */
+
+/*               case 0x7fff:   */         /* works */
+                case 32767:                /* works */
+                /* case 32768: */          /* 'range error' (correct for that one!) */
+
+                        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");
+}
+
+void testdefault1(unsigned char i) {
+/* we want a signed char */
+#ifdef REFCC
+
+#ifdef REFCC_UNSIGNED_CHARS
+signed char k;
+#else
+char k;
+#endif
+        
+#else
+        
+#ifdef UNSIGNED_CHARS
+signed char k;
+#else
+char k;
+#endif
+
+#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 */
+
+                /*
+                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) {
+/* we want a unsigned char */
+#ifdef REFCC
+
+#ifdef REFCC_UNSIGNED_CHARS
+char k;
+#else
+unsigned char k;
+#endif
+        
+#else
+        
+#ifdef UNSIGNED_CHARS
+char k;
+#else
+unsigned char k;
+#endif
+
+#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 ? */
+
+                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);\r
-       testlimits(-32768);\r
-       testlimits(-1);\r
-       \r
-       testdefault1(1);\r
-       testdefault1(2);\r
-       testdefault1(3);\r
-       testdefault1(4);\r
-       \r
-       testdefault2(1);\r
-       testdefault2(2);\r
-       testdefault2(3);\r
-       testdefault2(4);\r
-\r
-       return 0;\r
-}\r
+        testlimits(32767);
+        testlimits(-32768);
+        testlimits(-1);
+        
+        testdefault1(1);
+        testdefault1(2);
+        testdefault1(3);
+        testdefault1(4);
+        
+        testdefault2(1);
+        testdefault2(2);
+        testdefault2(3);
+        testdefault2(4);
+
+        return 0;
+}