blob: c8ae9645482b186623c157f7b04ca1c2504497ce [file] [log] [blame]
/*
* Copyright 2017 The Emscripten Authors. All rights reserved.
* Emscripten is available under two separate licenses, the MIT license and the
* University of Illinois/NCSA Open Source License. Both these licenses can be
* found in the LICENSE file.
*/
#include <emscripten.h>
void waka(int x, int y, int z) {
EM_ASM({
out('received ' + [$0, $1, $2] + '.');
}, x, y, z);
}
int main() {
EM_ASM({
#if EXPORTED
// test for additional things being exported
assert(Module['addFunction']);
assert(Module['lengthBytesUTF8']);
Module['setTempRet0'](42);
assert(Module['getTempRet0']() == 42);
// the main test here
Module['dynCall']('viii', $0, [1, 4, 9]);
#else
// If 'ASSERTIONS' is enabled, these properties all exist, but with
// stubs that show a useful error if called. So it is only meaningful
// to check they don't exist when assertions are disabled.
if (!ASSERTIONS) {
assert(!Module['addFunction']);
assert(!Module['lengthBytesUTF8']);
assert(!Module['setTempRet0']);
assert(!Module['getTempRet0']);
assert(!Module['dynCall']);
}
dynCall('viii', $0, [1, 4, 9]);
#endif
}, &waka);
}