diff options
author | Sinan Kaya <41809318+franksinankaya@users.noreply.github.com> | 2019-02-22 14:11:19 -0500 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2019-02-22 20:11:19 +0100 |
commit | 0495f7377fca88999d335757e9680052cfedc51d (patch) | |
tree | 3dc0a76c3ece4783d1884fcdf9e087ff663a7535 /configurecompiler.cmake | |
parent | 1376e5fc5fa4b01a175e26be467a416f1c8765fc (diff) | |
download | coreclr-0495f7377fca88999d335757e9680052cfedc51d.tar.gz coreclr-0495f7377fca88999d335757e9680052cfedc51d.tar.bz2 coreclr-0495f7377fca88999d335757e9680052cfedc51d.zip |
More GNUC Fixes (#22687)
* Replace __sync_swap with __atomic_exchange_n
__sync_swap() is a clang specific function.
* Remove multiline comment
* Add paranthesis around sum
src/md/hotdata/../inc/streamutil.h:73:34: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses]
UINT32 aligned = *totalBytes + 3 & ~3;
* Define __int64
* Define windows types for tests
* Remove undefined has_builtin defines and define alloca and inline for GNUC
* Remove __clang__ where possible
* Add implicit casting to help compiler find WCHAR* variant
src/binder/assembly.cpp:294:73: error: no matching function for call to ‘SString::SString(SString)’
return (pAsmName == nullptr ? nullptr : pAsmName->GetSimpleName());
^
In file included from src/inc/sstring.h:1082:0,
from src/inc/ex.h:19,
from src/inc/stgpool.h:28,
from src/inc/../md/inc/metamodel.h:18,
from src/inc/../md/inc/metamodelro.h:19,
from src/inc/metadata.h:17,
from src/binder/../vm/util.hpp:19,
from src/binder/../vm/common.h:110,
from src/binder/assembly.cpp:14:
src/inc/sstring.inl:73:8: note: candidate: SString::SString(void*, COUNT_T)
inline SString::SString(void *buffer, COUNT_T size)
^
src/inc/sstring.inl:73:8: note: candidate expects 2 arguments, 1 provided
src/inc/sstring.inl:436:8: note: candidate: SString::SString(SString::tagLiteral, const WCHAR*, COUNT_T)
inline SString::SString(tagLiteral dummytag, const WCHAR *literal, COUNT_T count)
^
src/inc/sstring.inl:436:8: note: candidate expects 3 arguments, 1 provided
src/inc/sstring.inl:418:8: note: candidate: SString::SString(SString::tagLiteral, const WCHAR*)
inline SString::SString(tagLiteral dummytag, const WCHAR *literal)
^
src/inc/sstring.inl:418:8: note: candidate expects 2 arguments, 1 provided
src/inc/sstring.inl:401:8: note: candidate: SString::SString(SString::tagUTF8Literal, const UTF8*)
inline SString::SString(tagUTF8Literal dummytag, const UTF8 *literal)
^
src/inc/sstring.inl:401:8: note: candidate expects 2 arguments, 1 provided
src/inc/sstring.inl:382:8: note: candidate: SString::SString(SString::tagLiteral, const CHAR*)
inline SString::SString(tagLiteral dummytag, const ASCII *literal)
* Reorder DLLEXPORT and STDAPI
GNUC wants extern "C" <attribute> format.
* Abstract __FUNCSIG__
* Abstract __debugbreak()
* Move common compiler options out of clang and add Wno-unused-value
* Add paranthesis around || and &&
src/gc/gc.cpp:9084:38: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
(!chosen_power2) && (i < free_space_count));
* Set Wno-delete-non-virtual-dtor for CXX files only
* Don't warn on unterminated endif labels
* Suppress unused functions
* Use 0x syntax rather than h syntax on GNU asm files
* Correct constructor call directly
src/ToolBox/superpmi/superpmi-shared/logging.cpp:301:27: required from here
src/inc/clr_std/string:58:9: error: cannot call constructor ‘std::basic_string<char>::basic_string’ directly
this->basic_string::basic_string(_Ptr, c_len(_Ptr));
* Suppress NULL used in arithmetic warnings
Diffstat (limited to 'configurecompiler.cmake')
-rw-r--r-- | configurecompiler.cmake | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/configurecompiler.cmake b/configurecompiler.cmake index f5eb063453..d9b2a66e63 100644 --- a/configurecompiler.cmake +++ b/configurecompiler.cmake @@ -446,6 +446,14 @@ if (CLR_CMAKE_PLATFORM_UNIX) add_compile_options(-Werror) endif(CLR_CMAKE_WARNINGS_ARE_ERRORS) + # Disabled common warnings + add_compile_options(-Wno-unused-variable) + add_compile_options(-Wno-unused-value) + add_compile_options(-Wno-unused-function) + + #These seem to indicate real issues + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof") + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") # The -ferror-limit is helpful during the porting, it makes sure the compiler doesn't stop # after hitting just about 20 errors. @@ -453,7 +461,6 @@ if (CLR_CMAKE_PLATFORM_UNIX) # Disabled warnings add_compile_options(-Wno-unused-private-field) - add_compile_options(-Wno-unused-variable) # Explicit constructor calls are not supported by clang (this->ClassName::ClassName()) add_compile_options(-Wno-microsoft) # This warning is caused by comparing 'this' to NULL @@ -468,8 +475,6 @@ if (CLR_CMAKE_PLATFORM_UNIX) add_compile_options(-Wno-unknown-warning-option) - #These seem to indicate real issues - add_compile_options(-Wno-invalid-offsetof) # The following warning indicates that an attribute __attribute__((__ms_struct__)) was applied # to a struct or a class that has virtual members or a base class. In that case, clang # may not generate the same object layout as MSVC. |