WebAssembly: Suppress warnings & errors in GCC
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 14 Jan 2017 19:35:23 +0000 (19:35 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 14 Jan 2017 19:35:23 +0000 (19:35 +0000)
commit64d0a64607b06e5afc46ce3c146e2fe77ce126b6
tree41246b7d56e8c0750f8fc4f67a227ab33a764a2d
parentfaa425f734a1b7aab2479acf26cc643b490e7852
WebAssembly: Suppress warnings & errors in GCC
https://bugs.webkit.org/show_bug.cgi?id=167049

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* wasm/WasmFunctionParser.h:
Add missing { } after the switch. Ideally, it is not necessary.
But in GCC, it is required. Since this function is fairly large,
I think the code generated by this does not cause performance
regression.

* wasm/WasmPageCount.h:
UINT_MAX is defined in limits.h.

* wasm/generateWasmValidateInlinesHeader.py:
On the other hand, we use this suppress pragma here to solve the
same problem in wasm/WasmFunctionParser.h. Since the load function
is fairly small, the additional `return { };` may generate some
suboptimal code. See bug 150794 for more detail.

Source/WTF:

* wtf/LEBDecoder.h:
(WTF::LEBDecoder::decodeInt):
If T = int, it performs `-1 << shift`. It causes
warning in GCC. Instead, we first cast it to the
UnsignedT, perform operation and re-cast to the
T.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@210769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/wasm/WasmFunctionParser.h
Source/JavaScriptCore/wasm/WasmPageCount.h
Source/JavaScriptCore/wasm/generateWasmValidateInlinesHeader.py
Source/WTF/ChangeLog
Source/WTF/wtf/LEBDecoder.h