fix implicit conversion loses integer precision [-Werror,-Wshorten-64-to-32]
fix cast increases required alignment [-Werror,-Wcast-align]
Fix error: will never be executed [-Werror,-Wunreachable-code]
Add check compile flag and add some new CFLAG option
Fix -Werror=unused-parameter using _U_ macro
Remove -Wno-unused-parameter (and add _U_ macro)