| 92 | }); |
| 93 | |
| 94 | EM_JS(int, _prefixed, (void), { |
| 95 | return 1; |
| 96 | }); |
| 97 | |
| 98 | EM_JS(int, strip_whitespace, ( void ), { |
| 99 | return 1; |
| 100 | }); |
| 101 | |
| 102 | EM_JS(int, transitive, (void), { |
| 103 | // Verify that EM_JS functions can call other EM_JS functions by their |
| 104 | // unmangled name. |
| 105 | return noarg_int(); |
| 106 | }); |
| 107 | |
| 108 | int main() { |
| 109 | printf("BEGIN\n"); |
| 110 | noarg(); |
| 111 | printf(" noarg_int returned: %d\n", noarg_int()); |
| 112 | printf(" noarg_double returned: %f\n", noarg_double()); |
| 113 | |
| 114 | intarg(5); |
| 115 | doublearg(5.0675); |
| 116 | printf(" stringarg returned: %f\n", stringarg("string arg")); |
| 117 | printf(" multi_intarg returned: %d\n", multi_intarg(5, 7)); |
| 118 | printf(" multi_mixedarg returned: %f\n", multi_mixedarg(3, "hello", 4.75)); |
| 119 | printf(" unused_args returned: %d\n", unused_args(0)); |
| 120 | printf(" skip_args returned: %f\n", skip_args(5, 7)); |
| 121 | printf(" add_outer returned: %f\n", add_outer(5.5, 7.0, 14.375)); |
| 122 | printf(" user_separator returned: %d\n", user_separator()); |
| 123 | printf(" user_comma returned: %d\n", user_comma()); |
| 124 | |
| 125 | char* s1 = return_str(); |
| 126 | printf(" return_str returned: %s\n", s1); |
| 127 | free(s1); |
| 128 | char* s2 = return_utf8_str(); |
| 129 | printf(" return_utf8_str returned: %s\n", s2); |
| 130 | free(s2); |
| 131 | |
| 132 | printf(" _prefixed: %d\n", _prefixed()); |
| 133 | printf(" strip_whitespace: %d\n", strip_whitespace()); |
| 134 | printf(" transitive: %d\n", transitive()); |
| 135 | |
| 136 | printf("END\n"); |
| 137 | return 0; |
| 138 | } |