aboutsummaryrefslogtreecommitdiff
path: root/tinycc/tests/tests2/96_nodata_wanted.c
diff options
context:
space:
mode:
authorUneven Prankster <unevenprankster@protonmail.com>2023-07-17 01:34:34 -0300
committerUneven Prankster <unevenprankster@protonmail.com>2023-07-17 01:34:34 -0300
commit88d82c6eaee88398af1de57cddca692a1f74b087 (patch)
treedf492c2002a1820959703f4f481172cceafeb0a1 /tinycc/tests/tests2/96_nodata_wanted.c
parent111c133b939c15c57c90cd474d55e84928c6307a (diff)
Cleanup feels good! Big work coming up this week.
Diffstat (limited to 'tinycc/tests/tests2/96_nodata_wanted.c')
-rw-r--r--tinycc/tests/tests2/96_nodata_wanted.c102
1 files changed, 0 insertions, 102 deletions
diff --git a/tinycc/tests/tests2/96_nodata_wanted.c b/tinycc/tests/tests2/96_nodata_wanted.c
deleted file mode 100644
index 95938b5..0000000
--- a/tinycc/tests/tests2/96_nodata_wanted.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/*****************************************************************************/
-/* test 'nodata_wanted' data output suppression */
-
-#if defined test_static_data_error
-void foo() {
- if (1) {
- static short w = (int)&foo; /* initializer not computable */
- }
-}
-
-#elif defined test_static_nodata_error
-void foo() {
- if (0) {
- static short w = (int)&foo; /* initializer not computable */
- }
-}
-
-#elif defined test_global_data_error
-void foo();
-static short w = (int)&foo; /* initializer not computable */
-
-
-#elif defined test_local_data_noerror
-void foo() {
- short w = &foo; /* 2 cast warnings */
-}
-
-#elif defined test_data_suppression_off || defined test_data_suppression_on
-
-#if defined test_data_suppression_on
-# define SKIP 1
-#else
-# define SKIP 0
-#endif
-
-#include <stdio.h>
-/* some gcc headers #define __attribute__ to empty if it's not gcc */
-#undef __attribute__
-
-int main()
-{
- __label__ ts0, te0, ts1, te1;
- int tl, dl;
-
- static const char ds0 = 0;
- static const char de0 = 0;
- /* get reference size of empty jmp */
-ts0:;
- if (!SKIP) {}
-te0:;
- dl = -(&de0 - &ds0);
- tl = -(&&te0 - &&ts0);
-
- /* test data and code suppression */
- static const char ds1 = 0;
-ts1:;
- if (!SKIP) {
- void *p = (void*)&main;
- char cc[] = "static string";
- double d = 8.0;
- struct
-#ifndef __arm__
- __attribute__((packed))
-#endif
- {
- unsigned x : 12;
- unsigned char y : 7;
- unsigned z : 28, a: 4, b: 5;
- } s = { 0x333,0x44,0x555555,6,7 };
-
- printf("data:\n");
- printf(" %d - %.1f - %.1f - %s - %s\n",
- sizeof 8.0, 8.0, d, __FUNCTION__, cc);
- printf(" %x %x %x %x %x\n",
- s.x, s.y, s.z, s.a, s.b);
- }
-te1:;
- static const char de1 = 0;
-
- dl += &de1 - &ds1;
- tl += &&te1 - &&ts1;
- printf("size of data/text:\n %s/%s\n",
- dl ? "non-zero":"zero", tl ? "non-zero":"zero");
- /*printf("# %d/%d\n", dl, tl);*/
-}
-
-#elif defined test_static_data
-
-#include <stdio.h>
-int main(int argc, char **argv)
-{
- goto there;
- if (0) {
- static int a = 1;
- printf("hello\n"); /* the "hello\n" string is still suppressed */
-there:
- printf("a = %d\n", a);
- }
- return 0;
-}
-
-#endif