From a2efb8d94bb8e860d8616f56c4f40e7c41eb3810 Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Thu, 12 Jul 2018 17:44:29 +1000 Subject: wasm: fix unicode toUpper issues see https://github.com/kripken/emscripten/issues/4540 On large bitfields, emscripten creates types such as i472, which 'legalization passes don't know how to convert into legal code' Adding a dummy field every 64 bits forces alignment which in turn forces emscripten to create i64 types instead. Task-number: QTBUG-66621 Task-number: QTBUG-69421 Change-Id: I5bfd2079ac8f35ced8b59a1d2e3c657993a70986 Reviewed-by: Eskil Abrahamsen Blomfeldt --- util/unicode/main.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'util') diff --git a/util/unicode/main.cpp b/util/unicode/main.cpp index 0f3c28137d..45bd53a487 100644 --- a/util/unicode/main.cpp +++ b/util/unicode/main.cpp @@ -2473,6 +2473,10 @@ static QByteArray createPropertyInfo() out += ", "; out += QByteArray::number( p.lowerCaseDiff ); out += ", "; + out += "#ifdef Q_OS_WASM \n" +// " unsigned char : 0; //wasm 64 packing trick \n" + out += "#endif \n" + out += ", "; // " ushort upperCaseSpecial : 1;\n" // " signed short upperCaseDiff : 15;\n" out += QByteArray::number( p.upperCaseSpecial ); @@ -2497,6 +2501,10 @@ static QByteArray createPropertyInfo() // " ushort nfQuickCheck : 8;\n" out += QByteArray::number( p.nfQuickCheck ); out += ", "; + out += "#ifdef Q_OS_WASM \n" +// " unsigned char : 0; //wasm 64 packing trick \n" + out += "#endif \n" + out += ", "; // " ushort graphemeBreakClass : 5; /* 5 used */\n" // " ushort wordBreakClass : 5; /* 5 used */\n" // " ushort sentenceBreakClass : 8; /* 4 used */\n" -- cgit v1.2.3