Как стать автором
Обновить

Комментарии 6

Подождите, а на каком emcc вы это запускали? Обычный clang 6 вполне нормально кушает вышеприведенный код. Т.к. clang основан на llvm, как и emscripten, то поведение должно быть одинаковым, не? https://godbolt.org/g/nEvZTH

Компилятор состоит из фронтенда clang и бакенда llvm. Бага может быть как во фронтенде, который генерирует llvm байткод, так и в бакенде который генерирует wasm. На тот момент llvm бакенда не было, поэтому не тестировали вариант с LLVM WebAssembly backend

У вас повторяется на последней версии с LLVM бекендом?

С LLVM не тестировали, но я проверю. В основном мы залатали сами места. Сейчас же имеет смысл включить clamp. Про то как мы ловим такие ситуации, я писал в C++ креши в WebAssembly на разных браузерах.

Каков результат?)

Спасибо, что напомнили. Обновил emscripten с его новым бакендом, теперь код
#include <cstdio>
#include <vector>
#include <chrono>


int main(int argc, char ** argv) {
	
	double a = 100000000000.0;
	printf("%d\n", int(a));
    return 0;
}

Теперь код отрабатывает нормально. Сейчас ковыряю поддержку Wasm в Qt, если все получится, то будут готовое standalone приложение для «поиграться».
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации