git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1401
4a8a32a2-be11-0410-ad9d-
d568d2c75423
--- /dev/null
+/* Tests that a cast used as a parameter gets packed into
+ HL
+*/
+#include <testfwk.h>
+
+void
+spoil(int a)
+{
+ UNUSED(a);
+}
+
+void
+testCastPack(char x)
+{
+ int i, j;
+ volatile char a = x;
+
+ for (i = 0; i < 5; i++)
+ {
+ for (j = 0; j < 5; j++)
+ {
+ spoil(a);
+ }
+ }
+}
--- /dev/null
+/*
+ size: 126, 127, 128, 129
+ */
+#include <testfwk.h>
+
+void
+spoil(char a)
+{
+ UNUSED(a);
+}
+
+void
+spoilPtr(char *p)
+{
+ UNUSED(p);
+}
+
+void
+testStack(void)
+{
+ volatile char above;
+ volatile char above2;
+ volatile char ac[{size}];
+ volatile char below;
+ volatile char * volatile p;
+
+ spoil(ac[0]);
+ spoilPtr(&above);
+ spoilPtr(&below);
+
+ p = &above2;
+ spoilPtr(p);
+}
--- /dev/null
+/* Code to generate code to see how structure indexs are evaluated.
+ Originally part of gbdk/examples/gb/paint.c
+
+ */
+#include <testfwk.h>
+
+typedef unsigned char UBYTE;
+
+typedef struct cursor_info_
+{
+ UBYTE data_idx;
+ UBYTE w, h;
+ UBYTE hot_x, hot_y;
+} cursor_info;
+
+const cursor_info cursors[] =
+{
+ { 0, 1, 1, 0, 0 },
+ { 1, 2, 2, 0, 15 },
+ { 5, 2, 2, 0, 15 },
+ { 9, 2, 2, 2, 15 },
+ { 13, 2, 2, 0, 15 },
+ { 17, 2, 2, 5, 10 }
+};
+
+UBYTE current_cursor;
+
+UBYTE
+getWidth(void)
+{
+ return cursors[current_cursor].w;
+}