diff options
author | Adeel Mujahid <adeelbm@outlook.com> | 2019-05-04 19:43:35 +0300 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2019-05-04 09:43:35 -0700 |
commit | 068aa8bbb7a3f303c809775561d70c1875149853 (patch) | |
tree | 9f71b65005a52b11979eb676821f0ea72a8b6127 /src | |
parent | 329069be40b65ab3b7b6bd626c8bd8d3f818c39d (diff) | |
download | coreclr-068aa8bbb7a3f303c809775561d70c1875149853.tar.gz coreclr-068aa8bbb7a3f303c809775561d70c1875149853.tar.bz2 coreclr-068aa8bbb7a3f303c809775561d70c1875149853.zip |
Minor tweaks for gcc (#24391)
* Fix a consistency check condition
Following error is reported by gcc 8 with debug configuration:
> error: enum constant in boolean context [-Werror=int-in-bool-context]
* Apply -Wno-register only to CXX flags
gcc 8 errors out like this:
```
[ 96%] Building C object src/ilasm/CMakeFiles/ilasm.dir/__/__/version.c.o
cc1: error: command line option -Wno-register is valid for C++/ObjC++ but not for C [-Werror]
cc1: all warnings being treated as errors
src/ilasm/CMakeFiles/ilasm.dir/build.make:254: recipe for target 'src/ilasm/CMakeFiles/ilasm.dir/__/__/version.c.o' failed
make[2]: *** [src/ilasm/CMakeFiles/ilasm.dir/__/__/version.c.o] Error 1
CMakeFiles/Makefile2:5710: recipe for target 'src/ilasm/CMakeFiles/ilasm.dir/all' failed
make[1]: *** [src/ilasm/CMakeFiles/ilasm.dir/all] Error 2
```
* Remove extra parantheses from variable declaration
gcc 8 reports:
> error: unnecessary parentheses in declaration of m_HashedModules [-Werror=parentheses]
* Use macro instead of const in C
gcc throws:
> error: variably modified collatorsPerOption at file scope
UCollator* collatorsPerOption[CompareOptionsMask + 1];
* Cast to uintptr_t before (32-bit) DWORD
gcc error was:
> error: cast from LPCWSTR {aka const char16_t*} to DWORD {aka unsigned int} loses precision [-fpermissive]
Diffstat (limited to 'src')
-rw-r--r-- | src/corefx/System.Globalization.Native/pal_collation.c | 14 | ||||
-rw-r--r-- | src/ilasm/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/md/compiler/mdutil.cpp | 2 | ||||
-rw-r--r-- | src/md/compiler/mdutil.h | 2 | ||||
-rw-r--r-- | src/utilcode/pedecoder.cpp | 2 | ||||
-rw-r--r-- | src/vm/stubgen.cpp | 2 |
6 files changed, 12 insertions, 13 deletions
diff --git a/src/corefx/System.Globalization.Native/pal_collation.c b/src/corefx/System.Globalization.Native/pal_collation.c index 56f795163e..5b270e659c 100644 --- a/src/corefx/System.Globalization.Native/pal_collation.c +++ b/src/corefx/System.Globalization.Native/pal_collation.c @@ -17,13 +17,13 @@ c_static_assert_msg(UCOL_LESS < 0, "managed side requires less than zero for a < c_static_assert_msg(UCOL_GREATER > 0, "managed side requires greater than zero for a > b"); c_static_assert_msg(USEARCH_DONE == -1, "managed side requires -1 for not found"); -const int32_t CompareOptionsIgnoreCase = 0x1; -const int32_t CompareOptionsIgnoreNonSpace = 0x2; -const int32_t CompareOptionsIgnoreSymbols = 0x4; -const int32_t CompareOptionsIgnoreKanaType = 0x8; -const int32_t CompareOptionsIgnoreWidth = 0x10; -const int32_t CompareOptionsMask = 0x1f; -// const int32_t CompareOptionsStringSort = 0x20000000; +#define CompareOptionsIgnoreCase 0x1 +#define CompareOptionsIgnoreNonSpace 0x2 +#define CompareOptionsIgnoreSymbols 0x4 +#define CompareOptionsIgnoreKanaType 0x8 +#define CompareOptionsIgnoreWidth 0x10 +#define CompareOptionsMask 0x1f +// #define CompareOptionsStringSort 0x20000000 // ICU's default is to use "StringSort", i.e. nonalphanumeric symbols come before alphanumeric. // When StringSort is not specified (.NET's default), the sort order will be different between // Windows and Unix platforms. The nonalphanumeric symbols will come after alphanumeric diff --git a/src/ilasm/CMakeLists.txt b/src/ilasm/CMakeLists.txt index 3bb13ad6d1..3d1a74dae6 100644 --- a/src/ilasm/CMakeLists.txt +++ b/src/ilasm/CMakeLists.txt @@ -51,8 +51,7 @@ if(CLR_CMAKE_PLATFORM_UNIX) # Need generate a right form of asmparse.cpp to avoid the following options. # Clang also produces a bad-codegen on this prebuilt file with optimization. # https://github.com/dotnet/coreclr/issues/2305 - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-delete-non-virtual-dtor") - add_compile_options(-Wno-register) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-delete-non-virtual-dtor -Wno-register") add_compile_options(-Wno-array-bounds) add_compile_options(-Wno-unused-label) set_source_files_properties( prebuilt/asmparse.cpp PROPERTIES COMPILE_FLAGS "-O0" ) diff --git a/src/md/compiler/mdutil.cpp b/src/md/compiler/mdutil.cpp index ad09040add..958ecc4837 100644 --- a/src/md/compiler/mdutil.cpp +++ b/src/md/compiler/mdutil.cpp @@ -24,7 +24,7 @@ LOADEDMODULES * LOADEDMODULES::s_pLoadedModules = NULL; UTSemReadWrite * LOADEDMODULES::m_pSemReadWrite = NULL; -RegMeta * (LOADEDMODULES::m_HashedModules[LOADEDMODULES_HASH_SIZE]) = { NULL }; +RegMeta * LOADEDMODULES::m_HashedModules[LOADEDMODULES_HASH_SIZE] = { NULL }; //***************************************************************************** // Hash a file name. diff --git a/src/md/compiler/mdutil.h b/src/md/compiler/mdutil.h index 331817ec9a..d7c2b91baa 100644 --- a/src/md/compiler/mdutil.h +++ b/src/md/compiler/mdutil.h @@ -90,7 +90,7 @@ public: // Named for locking macros - see code:LOCKREAD static UTSemReadWrite * m_pSemReadWrite; - static RegMeta *(m_HashedModules[LOADEDMODULES_HASH_SIZE]); + static RegMeta *m_HashedModules[LOADEDMODULES_HASH_SIZE]; static ULONG HashFileName(LPCWSTR szName); diff --git a/src/utilcode/pedecoder.cpp b/src/utilcode/pedecoder.cpp index 411b462a94..242768e8b7 100644 --- a/src/utilcode/pedecoder.cpp +++ b/src/utilcode/pedecoder.cpp @@ -2081,7 +2081,7 @@ bool EnumerateLangIDs(const PEDecoder *pDecoder, DWORD rvaOfResourceSection, boo BYTE *pData = (BYTE*)pDecoder->GetRvaData(resourceDataRva); - return state->langIDcallback(state->nameName, state->nameType, (DWORD)name, pData, cbData, state->context); + return state->langIDcallback(state->nameName, state->nameType, (DWORD)(uintptr_t)name, pData, cbData, state->context); } diff --git a/src/vm/stubgen.cpp b/src/vm/stubgen.cpp index 78c6831b71..ab054a5c3f 100644 --- a/src/vm/stubgen.cpp +++ b/src/vm/stubgen.cpp @@ -977,7 +977,7 @@ bool ILCodeStream::IsSupportedInstruction(ILInstrEnum instr) LIMITED_METHOD_CONTRACT; CONSISTENCY_CHECK_MSG(instr != CEE_SWITCH, "CEE_SWITCH is not supported currently due to InlineSwitch in s_rgbOpcodeSizes"); - CONSISTENCY_CHECK_MSG(((instr >= CEE_BR_S) && (instr <= CEE_BLT_UN_S)) || (CEE_LEAVE), "we only use long-form branch opcodes"); + CONSISTENCY_CHECK_MSG(((instr >= CEE_BR_S) && (instr <= CEE_BLT_UN_S)) || instr == CEE_LEAVE, "we only use long-form branch opcodes"); return true; } #endif // _DEBUG |