summaryrefslogtreecommitdiff
path: root/support/regression/tests/scott-struct1.c
diff options
context:
space:
mode:
authorXavier ASUS <xavi92psx@gmail.com>2019-10-18 00:31:54 +0200
committerXavier ASUS <xavi92psx@gmail.com>2019-10-18 00:31:54 +0200
commit268a53de823a6750d6256ee1fb1e7707b4b45740 (patch)
tree42c1799a9a82b2f7d9790ee9fe181d72a7274751 /support/regression/tests/scott-struct1.c
downloadsdcc-gas-268a53de823a6750d6256ee1fb1e7707b4b45740.tar.gz
sdcc-3.9.0 fork implementing GNU assembler syntax
This fork aims to provide better support for stm8-binutils
Diffstat (limited to 'support/regression/tests/scott-struct1.c')
-rw-r--r--support/regression/tests/scott-struct1.c78
1 files changed, 78 insertions, 0 deletions
diff --git a/support/regression/tests/scott-struct1.c b/support/regression/tests/scott-struct1.c
new file mode 100644
index 0000000..5f49c70
--- /dev/null
+++ b/support/regression/tests/scott-struct1.c
@@ -0,0 +1,78 @@
+/*
+ Addition tests
+*/
+#include <testfwk.h>
+
+/* bit types are not ANSI - so provide a way of disabling bit types
+ * if this file is used to test other compilers besides SDCC */
+#define SUPPORT_BIT_TYPES 0
+
+/* Some compilers that support bit types do not support bit arithmetic
+ * (like bitx = bity + bitz;) */
+#define SUPPORT_BIT_ARITHMETIC 0
+
+#if SUPPORT_BIT_TYPES
+
+bit bit0 = 0;
+bit bit1 = 0;
+bit bit2 = 0;
+bit bit3 = 0;
+bit bit4 = 0;
+bit bit5 = 0;
+bit bit6 = 0;
+bit bit7 = 0;
+bit bit8 = 0;
+bit bit9 = 0;
+bit bit10 = 0;
+bit bit11 = 0;
+
+#endif
+
+unsigned int aint0 = 0;
+unsigned int aint1 = 0;
+unsigned char achar0 = 0;
+unsigned char achar1 = 0;
+unsigned char *acharP = 0;
+
+struct chars
+ {
+ unsigned char c0, c1;
+ unsigned int i0, i1;
+ };
+
+
+struct chars struct1;
+
+void
+struct_test (void)
+{
+
+ ASSERT (!(struct1.c0 || struct1.c1));
+
+ struct1.c0++;
+
+ ASSERT (!(struct1.c0 != 1));
+}
+
+void add_chars(void)
+{
+
+ achar0 = struct1.c0 + struct1.c1;
+
+ ASSERT(!(achar0 != 1));
+}
+
+void
+testStruct1 (void)
+{
+
+
+ struct1.c0 = 0;
+ struct1.c1 = 0;
+ struct_test ();
+ // ptr_to_struct (&struct1);
+
+ struct1.c0 = 0;
+ struct1.c1 = 1;
+ add_chars();
+}