diff options
Diffstat (limited to 'src/parseTools.js')
-rw-r--r-- | src/parseTools.js | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/parseTools.js b/src/parseTools.js index db834206..fa0f251e 100644 --- a/src/parseTools.js +++ b/src/parseTools.js @@ -1118,6 +1118,8 @@ var asmPrintCounter = 0; // See makeSetValue function makeGetValue(ptr, pos, type, noNeedFirst, unsigned, ignore, align, noSafe, forceAsm) { if (UNALIGNED_MEMORY) align = 1; + else if (FORCE_ALIGNED_MEMORY && !isIllegalType(type)) align = 8; + if (isStructType(type)) { var typeData = Types.types[type]; var ret = []; @@ -1220,6 +1222,8 @@ function indexizeFunctions(value, type) { //! @param noNeedFirst Whether to ignore the offset in the pointer itself. function makeSetValue(ptr, pos, value, type, noNeedFirst, ignore, align, noSafe, sep, forcedAlign, forceAsm) { if (UNALIGNED_MEMORY && !forcedAlign) align = 1; + else if (FORCE_ALIGNED_MEMORY && !isIllegalType(type)) align = 8; + sep = sep || ';'; if (isStructType(type)) { var typeData = Types.types[type]; @@ -1678,10 +1682,10 @@ function checkBitcast(item) { function showWarning() { if (warned) return; warned = true; - if (VERBOSE || ASM_JS) { + if (VERBOSE) { warnOnce('Casting potentially incompatible function pointer ' + oldType + ' to ' + newType + ', for ' + item.params[0].ident.slice(1)); } else { - warnOnce('Casting a function pointer type to a potentially incompatible one (use VERBOSE=1 to see more)'); + warnOnce('Casting a function pointer type to a potentially incompatible one (use -s VERBOSE=1 to see more)'); } warnOnce('See https://github.com/kripken/emscripten/wiki/CodeGuidlinesAndLimitations#function-pointer-issues for more information on dangerous function pointer casts'); if (ASM_JS) warnOnce('Incompatible function pointer casts are very dangerous with ASM_JS=1, you should investigate and correct these'); |