| 1 | module main |
| 2 | |
| 3 | #flag -DCNUMBER1=$d('N',1231) |
| 4 | #flag -DCNUMBER2=$d('N', 1232) |
| 5 | #flag -DCNUMBER3=$d('N',1233 ) |
| 6 | #flag -DCNUMBER4=$d('N', 1234 ) |
| 7 | #flag -DCNUMBER5=$d('N', 1235 ) |
| 8 | #flag -DCNUMBER6=$d('N',1236) ## |
| 9 | |
| 10 | fn test_if_compilation_with_custom_cflags_works_numbers_simple() { |
| 11 | assert C.CNUMBER1 == 1231 |
| 12 | assert C.CNUMBER2 == 1232 |
| 13 | assert C.CNUMBER3 == 1233 |
| 14 | assert C.CNUMBER4 == 1234 |
| 15 | assert C.CNUMBER5 == 1235 |
| 16 | assert C.CNUMBER6 == 1236 |
| 17 | } |
| 18 | |
| 19 | #flag -DCNUMBERS1=$d('N',123)+$d('N',123) |
| 20 | #flag -DCNUMBERS2=$d('N', 123)-$d('N', 123) |
| 21 | #flag -DCNUMBERS3=$d('N',123 )*$d('N',123 ) |
| 22 | #flag -DCNUMBERS4=$d('N', 123 )/$d('N', 123 ) |
| 23 | #flag -DCNUMBERS5=$d('N', 123 )+2*$d('N', 123 ) |
| 24 | #flag -DCNUMBERS6=$d('N',123)+1000*$d('N',123) ## |
| 25 | |
| 26 | fn test_if_compilation_with_custom_cflags_works_numbers_composed_arithmetic() { |
| 27 | assert C.CNUMBERS1 == 246 |
| 28 | assert C.CNUMBERS2 == 0 |
| 29 | assert C.CNUMBERS3 == 15129 |
| 30 | assert C.CNUMBERS4 == 1 |
| 31 | assert C.CNUMBERS5 == 369 |
| 32 | assert C.CNUMBERS6 == 123123 |
| 33 | } |
| 34 | |
| 35 | @[export: 'check_dflags_fn'] |
| 36 | pub fn check_dflags_fn() {} |
| 37 | |
| 38 | #flag -DFNAME0=$d('A1','"check_dflags_fn"') |
| 39 | #flag -DFNAME1=$d('A1','"check_d')$d('A2','flags_fn"') |
| 40 | #flag -DFNAME2=$d('A1', 'check_d')$d('A2','flags_fn') |
| 41 | #flag -DFNAME3=$d('A1','check_dfl' )$d('A2','ags_fn') |
| 42 | #flag -DFNAME4=$d('A1', 'check_dfla' )$d('A2','gs_fn') |
| 43 | #flag -DFNAME5=$d('A1', 'check_dflag' )$d('A2','s_fn') ## |
| 44 | |
| 45 | fn test_custom_flags_with_composed_strings() { |
| 46 | assert voidptr(C.FNAME0) == voidptr(C.check_dflags_fn) |
| 47 | assert voidptr(C.FNAME1) == voidptr(C.check_dflags_fn) |
| 48 | assert voidptr(C.FNAME2) == voidptr(C.check_dflags_fn) |
| 49 | assert voidptr(C.FNAME3) == voidptr(C.check_dflags_fn) |
| 50 | assert voidptr(C.FNAME4) == voidptr(C.check_dflags_fn) |
| 51 | assert voidptr(C.FNAME5) == voidptr(C.check_dflags_fn) |
| 52 | } |
| 53 | |
| 54 | #flag -DCMIXED1=$d('A1','mixed')_$d('A2',1) |
| 55 | #flag -DCMIXED2=$d('A1', 'mixed')_$d('A2',2 ) |
| 56 | #flag -DCMIXED3=$d('A1','mixed' )_$d('A2', 3) |
| 57 | #flag -DCMIXED4=$d('A1', 'mixed' )_$d('A2', 4 ) |
| 58 | #flag -DCMIXED55=$d('A1', 'mixed' )_$d('A2',55) ## |
| 59 | |
| 60 | @[export: 'mixed_1'] |
| 61 | pub fn f1() {} |
| 62 | |
| 63 | @[export: 'mixed_2'] |
| 64 | pub fn f2() {} |
| 65 | |
| 66 | @[export: 'mixed_3'] |
| 67 | pub fn f3() {} |
| 68 | |
| 69 | @[export: 'mixed_4'] |
| 70 | pub fn f4() {} |
| 71 | |
| 72 | @[export: 'mixed_55'] |
| 73 | pub fn f55() {} |
| 74 | |
| 75 | fn test_custom_flags_that_are_a_mix() { |
| 76 | assert voidptr(C.CMIXED1) == voidptr(C.mixed_1) |
| 77 | assert voidptr(C.CMIXED2) == voidptr(C.mixed_2) |
| 78 | assert voidptr(C.CMIXED3) == voidptr(C.mixed_3) |
| 79 | assert voidptr(C.CMIXED4) == voidptr(C.mixed_4) |
| 80 | assert voidptr(C.CMIXED55) == voidptr(C.mixed_55) |
| 81 | } |
| 82 | |