Changeset 506d4f0 for tests/zombies
- Timestamp:
- Oct 1, 2020, 8:17:34 AM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 17b6fc9, ebec8ed
- Parents:
- e96e439
- Location:
- tests/zombies
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/zombies/Rank2.c
re96e439 r506d4f0 1 int ?=?( int *, int );2 forall(dtype DT) DT * ?=?( DT * *, DT * );1 int ?=?( int &, int ); 2 forall(dtype DT) DT * ?=?( DT *&, DT * ); 3 3 4 4 void a() { … … 11 11 void h( int *null ); 12 12 forall( otype T ) T id( T ); 13 forall( dtype T ) T *0;14 int 0;13 // forall( dtype T ) T *0; 14 // int 0; 15 15 h( id( id( id( 0 ) ) ) ); 16 16 } -
tests/zombies/Tuple.c
re96e439 r506d4f0 46 46 [ 3, 5 ]; 47 47 [ a, b ] = 3; 48 //[ a, b ] = [ 4.6 ];48 [ a, b ] = [ 4.6 ]; 49 49 [ a, b ] = 4.6; 50 50 [ a, b ] = [ c, d ] = [ 3, 5 ]; … … 59 59 [ a, b ] = t1 = [ c, d ]; 60 60 [ a, b ] = t1 = t2 = [ c, d ]; 61 //t1 = [ 3, 4 ] = [ 3, 4 ] = t1 = [ 3, 4 ];61 t1 = [ 3, 4 ] = [ 3, 4 ] = t1 = [ 3, 4 ]; 62 62 63 63 s.[ f1, i.[ f2, f3 ], f4 ] = [ 11, 12, 13, 3.14159 ]; … … 65 65 // [ a, , b, ] = h( 3, 3, 0, "abc" ); /* ignore some results */ 66 66 sp->[ f4, f1 ] = sp->[ f1, f4 ]; 67 printf( "expecting 3, 17, 23, 4; got % d, %d, %d, %d\n", s.[ f4, i.[ f3, f2 ], f1 ] );67 printf( "expecting 3, 17, 23, 4; got %g, %d, %d, %d\n", s.[ f4, i.[ f3, f2 ], f1 ] ); 68 68 rc = 0; 69 69 } -
tests/zombies/abstype.c
re96e439 r506d4f0 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jun 14 14:27:48 201613 // Update Count : 912 // Last Modified On : Wed Sep 30 13:55:47 2020 13 // Update Count : 10 14 14 // 15 15 … … 21 21 } 22 22 23 forall( otype T ) lvalueT *?( T * );23 forall( otype T ) T *?( T * ); 24 24 int ?++( int * ); 25 25 int ?=?( int *, int ); -
tests/zombies/constructors.c
re96e439 r506d4f0 1 int fred() { 1 #include <fstream.hfa> 2 #include <stdlib.hfa> 3 4 int main() { 2 5 // initialize basic structure 3 6 struct S { 4 7 int i, j, k; 5 8 }; 6 void ?{}( S *s ) { s->i = 1, s->k = 2; } // default constructor7 void ?{}( S *s, int i, int k ) { s->i = i, s->k = k; } // 2 parameter constructor8 void ?{}( S *s, S c ) { *s = c; }// copy constructor9 void ^?{}( S *s ) { s->i = 0, s->k = 0; } // default destructor10 void ^?{}( S *s, int i ) { s->i = i, s->k = i; } // 1 parameter destructor9 void ?{}( S & s ) { s.i = 1, s.k = 2; } // default constructor 10 void ?{}( S & s, int i, int k ) { s.i = i, s.k = k; } // 2 parameter constructor 11 void ?{}( S & s, S c ) { /* s @= c */ s.[i,j,k] = c.[i,j,k]; } // copy constructor 12 void ^?{}( S & s ) { s.i = 0, s.k = 0; } // default destructor 13 void ^?{}( S & s, int i ) { s.i = i, s.k = i; } // 1 parameter destructor 11 14 { 12 S s1; // default constructor13 S s2 = { 3, 7 }; // 2 parameter constructor14 S s3 @= { .k:3, .i:7 }; // 2 parameter C initialization15 ?{}( &s3, 2, 5 );// explicit 2 parameter constructor16 ^?{}( &s1 );// explicit call to default destructor15 S s1; // default constructor 16 S s2 = { 3, 7 }; // 2 parameter constructor 17 S s3 @= { .k:3, .i:7 }; // 2 parameter C initialization 18 ?{}( s3, 2, 5 ); // explicit 2 parameter constructor 19 ^?{}( s1 ); // explicit call to default destructor 17 20 } // implicit call to default destructor for s2, explicit call s1, no call for s3 18 S s4 @= {}; // no default construction19 ( &s4){ 2, 5 };// explicit 2 parameter constructor20 ^s4{ 3 }; // explicit call to 1 parameter destructor21 S s4 @= {}; // no default construction 22 (s4){ 2, 5 }; // explicit 2 parameter constructor 23 ^s4{ 3 }; // explicit call to 1 parameter destructor 21 24 22 25 // initialize pointer to a basic structure 23 26 24 void ?{}( S * *s ) { *s = malloc(); (*s)->i = 1, (*s)->k = 2; } // default constructor25 void ?{}( S * *s, int i, int k ) { *s = malloc(); (*s)->i = i, (*s)->k = k; } // 2 parameter constructor26 void ^?{}( S * *s ) { (*s)->i = 0, (*s)->k = 0; free( *s ); *s = 0; } // default destructor27 void ?{}( S *& s ) { s = malloc(); s->i = 1, (*s).k = 2; } // default constructor 28 void ?{}( S *& s, int i, int k ) { s = malloc(); (*s).i = i, (*s).k = k; } // 2 parameter constructor 29 void ^?{}( S *& s ) { (*s).i = 0, (*s).k = 0; free( s ); &s = 0p; } // default destructor 27 30 { 28 S *ps1; // default constructor 29 S *ps2 = { 3, 7 }; // 2 parameter constructor 30 S *ps3 @= 0; // C initialization 31 S *ps4 @= {}; // no default construction 31 S * ps1; // default constructor 32 S * ps2 = { 3, 7 }; // 2 parameter constructor 33 sout | ps1 | ps2; 34 35 S * ps3 @= 0p; // C initialization 36 S * ps4 @= { 3 }; // no default construction 37 sout | ps3 | ps4; 38 39 ?{}( ps3, 2, 5 ); // explicit 2 parameter constructor 40 (ps4){ 2, 5 }; // explicit 2 parameter constructor 41 sout | ps3 | ps4; 42 43 ^?{}( ps3 ); // explicit call to default destructor 44 ^ps4{}; // explicit call to default destructor 45 sout | ps3 | ps4; 32 46 } // implicit call to default destructor for ps2 and ps1, checks ordering of explicit destructor calls 33 34 ?{}( &ps3, 2, 5 ); // explicit 2 parameter constructor35 (&ps4){ 2, 5 }; // explicit 2 parameter constructor36 37 ^?{}( &ps3 ); // explicit call to default destructor38 ^ps4{}; // explicit call to default destructor39 47 40 48 // initialize complex structure … … 44 52 }; 45 53 46 void ?{}( T *t ) {} // default constructor => implicitly call constructor for field s 47 void ?{}( T *t, int i, int k ) { (&t->s){ i, k }; } // 2 parameter constructor => explicitly call constructor for field s 48 void ?{}( T *t, S c ) { (&t->s){ c }; } // 1 parameter constructor => explicitly call copy constructor for field s 49 void ^?{}( T *s, int i ) {} // destructor => implicitly call destructor for field s 54 void ?{}( T & t ) {} // default constructor => implicitly call constructor for field s 55 void ?{}( T & t, int i, int k ) { (t.s){ i, k }; } // 2 parameter constructor => explicitly call constructor for field s 56 void ?{}( T & t, S c ) { (t.s){ c }; }// 1 parameter constructor => explicitly call copy constructor for field s 57 void ^?{}( T & s ) {} // destructor => implicitly call destructor for field s 58 void ^?{}( T & s, int i ) {}// destructor => implicitly call destructor for field s 50 59 { 51 S s; // default constructor 52 T t1; // default constructor 53 T t2 = { s }; // 1 parameter constructor 54 ^?{}( &t1 ); // explicit call to default destructor => implicit call to t1.s's destructor 60 S s; // default constructor 61 T t1; // default constructor 62 T t2 = { s }; // 1 parameter constructor 63 ^?{}( t1, 3 ); // explicit call to default destructor => implicit call to t1.s's destructor 64 T t3; // default constructor 65 T t4 @= { { 1, 3 } }; // C initialization 66 (t4){ 2, 5 }; // explicit 2 parameter constructor 55 67 } // implicit call to default destructor for t2 and implicit call for s; 56 T t3; // default constructor57 T t4 @= { { 1, 3 } }; // C initialization58 (&t4){ 2, 5 }; // explicit 2 parameter constructor59 68 60 69 T *pt = malloc(){ 3, 4 }; // common usage -
tests/zombies/includes.c
re96e439 r506d4f0 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Nov 15 23:06:24 201713 // Update Count : 59 712 // Last Modified On : Wed Sep 30 13:59:18 2020 13 // Update Count : 598 14 14 // 15 15 … … 24 24 #if 1 25 25 #define _GNU_SOURCE 26 #include <a.out.h> 27 #include <aio.h> 28 #include <aliases.h> 29 #include <alloca.h> 30 #include <ansidecl.h> 31 #include <ar.h> 32 #include <argp.h> 33 #include <argz.h> 34 #include <assert.h> 35 //#include <bfd.h> 36 // #include <bfdlink.h> // keyword with 37 #include <byteswap.h> 38 #include <bzlib.h> 39 #include <cblas.h> 40 #include <cblas_f77.h> 41 #include <complex.h> 42 #include <com_err.h> 43 #include <cpio.h> 44 #include <crypt.h> 45 #include <ctype.h> 46 #include <curses.h> 47 #include <dialog.h> 48 #include <dirent.h> 49 #include <dis-asm.h> 50 #include <dlfcn.h> 51 #include <dlg_colors.h> 52 #include <dlg_config.h> 53 #include <dlg_keys.h> 54 #include <elf.h> 55 #include <endian.h> 56 #include <envz.h> 57 #include <err.h> 58 #include <errno.h> 59 #include <error.h> 60 #include <eti.h> 61 #include <evdns.h> 62 #include <event.h> 26 // #include <a.out.h> 27 // #include <aio.h> 28 // #include <aliases.h> 29 // #include <alloca.h> 30 // #include <ansidecl.h> 31 // #include <ar.h> 32 // #include <argp.h> 33 // #include <argz.h> 34 // #include <assert.h> 35 // #include <bfd.h> 36 // #include <bfdlink.h> // keyword with 37 // #include <byteswap.h> 38 // #include <bzlib.h> 39 // #include <cblas.h> 40 // #include <cblas_f77.h> 41 // #include <complex.h> 42 // #include <com_err.h> 43 // #include <cpio.h> 44 45 // #include <crypt.h> 46 // #include <ctype.h> 47 // #include <curses.h> 48 // #include <dialog.h> 49 // #include <dirent.h> 50 // #include <dis-asm.h> 51 // #include <dlfcn.h> 52 // #include <dlg_colors.h> 53 // #include <dlg_config.h> 54 // #include <dlg_keys.h> 55 // #include <elf.h> 56 // #include <endian.h> 57 // #include <envz.h> 58 // #include <err.h> 59 // #include <errno.h> 60 // #include <error.h> 61 // #include <eti.h> 62 // #include <evdns.h> 63 // #include <event.h> 63 64 64 65 // #include <evhttp.h> 65 66 // #include <sys/queue.h> 66 // #include <evrpc.h> // evrpc.h depends on sys/queue.h67 // #include <evrpc.h> // evrpc.h depends on sys/queue.h 67 68 // #include <evutil.h> 68 69 // #include <execinfo.h> … … 80 81 // #include <fts.h> 81 82 // #include <ftw.h> 83 82 84 // #include <gconv.h> 83 85 // #include <getopt.h> … … 89 91 // #include <gshadow.h> 90 92 // #include <gssapi.h> 91 // #include <hwloc.h>// keyword thread (setjmp)93 #include <hwloc.h> // keyword thread (setjmp) 92 94 // #include <iconv.h> 93 95 // #include <idna.h>
Note: See TracChangeset
for help on using the changeset viewer.