Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Подождите, а на каком emcc вы это запускали? Обычный clang 6 вполне нормально кушает вышеприведенный код. Т.к. clang основан на llvm, как и emscripten, то поведение должно быть одинаковым, не? https://godbolt.org/g/nEvZTH
У вас повторяется на последней версии с LLVM бекендом?
С LLVM не тестировали, но я проверю. В основном мы залатали сами места. Сейчас же имеет смысл включить clamp. Про то как мы ловим такие ситуации, я писал в C++ креши в WebAssembly на разных браузерах.
Каков результат?)
#include <cstdio>
#include <vector>
#include <chrono>
int main(int argc, char ** argv) {
double a = 100000000000.0;
printf("%d\n", int(a));
return 0;
}
Опыт с WebAssembly или как С++ undefined behavior выстрелил в ногу