Fix compile for Intel C++ 15 compiler (nw)

This commit is contained in:
Miodrag Milanovic 2015-11-14 11:52:15 +01:00
parent 71ceab74c5
commit 8c0d01d426
5 changed files with 97 additions and 11 deletions

View File

@ -846,6 +846,18 @@ vs2013_winrt: generate
vs2015: generate vs2015: generate
$(SILENT) $(GENIE) $(PARAMS) vs2015 $(SILENT) $(GENIE) $(PARAMS) vs2015
vs2015_intel: generate
$(SILENT) $(GENIE) $(PARAMS) --vs=intel-15 vs2015
vs2015_xp: generate
$(SILENT) $(GENIE) $(PARAMS) --vs=vs2013-xp vs2015
vs2015_clang: generate
$(SILENT) $(GENIE) $(PARAMS) --vs=vs2013-clang vs2015
vs2015_winrt: generate
$(SILENT) $(GENIE) $(PARAMS) --vs=winstore81 vs2015
android-arm: generate android-arm: generate
ifndef ANDROID_NDK_ARM ifndef ANDROID_NDK_ARM
$(error ANDROID_NDK_ARM is not set) $(error ANDROID_NDK_ARM is not set)

View File

@ -1254,9 +1254,9 @@ if _OPTIONS["vs"]=="intel-15" then
"/Qwd1478", -- warning #1478: function "xxx" (declared at line yyy of "zzz") was declared deprecated "/Qwd1478", -- warning #1478: function "xxx" (declared at line yyy of "zzz") was declared deprecated
"/Qwd1879", -- warning #1879: unimplemented pragma ignored "/Qwd1879", -- warning #1879: unimplemented pragma ignored
"/Qwd3291", -- warning #3291: invalid narrowing conversion from "double" to "int" "/Qwd3291", -- warning #3291: invalid narrowing conversion from "double" to "int"
"/Qwd1195", "/Qwd1195", -- error #1195: conversion from integer to smaller pointer
"/Qwd1786", "/Qwd47", -- error #47: incompatible redefinition of macro "xxx"
"/Qwd592", -- For lua, false positive? "/Qwd265", -- error #265: floating-point operation result is out of range
} }
end end

View File

@ -16,6 +16,14 @@ project "expat"
"/wd4127", -- warning C4127: conditional expression is constant "/wd4127", -- warning C4127: conditional expression is constant
"/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data "/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data
} }
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd111", -- remark #111: statement is unreachable
"/Qwd1879", -- warning #1879: unimplemented pragma ignored
"/Qwd2557", -- remark #2557: comparison between signed and unsigned operands
"/Qwd869", -- remark #869: parameter "xxx" was never referenced
}
end
configuration { "vs2015" } configuration { "vs2015" }
buildoptions { buildoptions {
"/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
@ -48,7 +56,12 @@ project "zlib"
"/wd4127", -- warning C4127: conditional expression is constant "/wd4127", -- warning C4127: conditional expression is constant
"/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data "/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data
} }
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd111", -- remark #111: statement is unreachable
"/Qwd280", -- remark #280: selector expression is constant
}
end
configuration "Debug" configuration "Debug"
defines { defines {
"verbose=-1", "verbose=-1",
@ -98,7 +111,11 @@ project "softfloat"
includedirs { includedirs {
MAME_DIR .. "src/osd", MAME_DIR .. "src/osd",
} }
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd2557", -- remark #2557: comparison between signed and unsigned operands
}
end
files { files {
MAME_DIR .. "3rdparty/softfloat/softfloat.c", MAME_DIR .. "3rdparty/softfloat/softfloat.c",
MAME_DIR .. "3rdparty/softfloat/fsincos.c", MAME_DIR .. "3rdparty/softfloat/fsincos.c",
@ -120,6 +137,11 @@ project "jpeg"
"/wd4127", -- warning C4127: conditional expression is constant "/wd4127", -- warning C4127: conditional expression is constant
"/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data "/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data
} }
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd869", -- remark #869: parameter "xxx" was never referenced
}
end
configuration { } configuration { }
@ -193,6 +215,15 @@ project "flac"
"/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter "/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter
"/wd4702", -- warning C4702: unreachable code "/wd4702", -- warning C4702: unreachable code
} }
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd111", -- remark #111: statement is unreachable
"/Qwd177", -- remark #177: function "xxx" was declared but never referenced
"/Qwd181", -- remark #181: argument of type "UINT32={unsigned int}" is incompatible with format "%d", expecting argument of type "int"
"/Qwd188", -- error #188: enumerated type mixed with another type
"/Qwd869", -- remark #869: parameter "xxx" was never referenced
}
end
configuration { "vs2015" } configuration { "vs2015" }
buildoptions { buildoptions {
@ -261,6 +292,11 @@ project "7z"
buildoptions { buildoptions {
"/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter "/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter
} }
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd869", -- remark #869: parameter "xxx" was never referenced
}
end
configuration { "vs2015" } configuration { "vs2015" }
buildoptions { buildoptions {
"/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
@ -318,7 +354,11 @@ project "lua"
"/wd4702", -- warning C4702: unreachable code "/wd4702", -- warning C4702: unreachable code
"/wd4310", -- warning C4310: cast truncates constant value "/wd4310", -- warning C4310: cast truncates constant value
} }
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd592", -- error #592: variable "xxx" is used before its value is set
}
end
configuration { } configuration { }
defines { defines {
"LUA_COMPAT_ALL", "LUA_COMPAT_ALL",
@ -459,6 +499,12 @@ project "sqllite3"
"/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter "/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter
"/wd4706", -- warning C4706: assignment within conditional expression "/wd4706", -- warning C4706: assignment within conditional expression
} }
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd869", -- remark #869: parameter "xxx" was never referenced
"/Qwd2557", -- remark #2557: comparison between signed and unsigned operands
}
end
configuration { "vs2015" } configuration { "vs2015" }
buildoptions { buildoptions {
@ -513,6 +559,14 @@ project "portmidi"
"/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data "/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data
"/wd4706", -- warning C4706: assignment within conditional expression "/wd4706", -- warning C4706: assignment within conditional expression
} }
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd188", -- error #188: enumerated type mixed with another type
"/Qwd344", -- remark #344: typedef name has already been declared (with same type)
"/Qwd869", -- remark #869: parameter "xxx" was never referenced
"/Qwd2557", -- remark #2557: comparison between signed and unsigned operands
}
end
configuration { "vs2015" } configuration { "vs2015" }
buildoptions { buildoptions {
@ -587,7 +641,13 @@ project "bgfx"
"/wd4611", -- warning C4611: interaction between '_setjmp' and C++ object destruction is non-portable "/wd4611", -- warning C4611: interaction between '_setjmp' and C++ object destruction is non-portable
"/wd4310", -- warning C4310: cast truncates constant value "/wd4310", -- warning C4310: cast truncates constant value
} }
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd906", -- message #906: effect of this "#pragma pack" directive is local to function "xxx"
"/Qwd1879", -- warning #1879: unimplemented pragma ignored
"/Qwd82", -- remark #82: storage class is not first
}
end
configuration { } configuration { }
includedirs { includedirs {
@ -706,7 +766,14 @@ project "portaudio"
"/wd4189", -- warning C4189: 'xxx' : local variable is initialized but not referenced "/wd4189", -- warning C4189: 'xxx' : local variable is initialized but not referenced
"/wd4127", -- warning C4127: conditional expression is constant "/wd4127", -- warning C4127: conditional expression is constant
} }
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd869", -- remark #869: parameter "xxx" was never referenced
"/Qwd1478", -- warning #1478: function "xxx" (declared at line yyy of "zzz") was declared deprecated
"/Qwd2544", -- message #2544: empty dependent statement in if-statement
"/Qwd1879", -- warning #1879: unimplemented pragma ignored
}
end
configuration { "vs2015" } configuration { "vs2015" }
buildoptions { buildoptions {
"/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
@ -848,6 +915,13 @@ project "gtest"
"-Wno-unused-variable", "-Wno-unused-variable",
} }
configuration { "vs*" }
if _OPTIONS["vs"]=="intel-15" then
buildoptions {
"/Qwd1195", -- error #1195: conversion from integer to smaller pointer
}
end
configuration { } configuration { }
includedirs { includedirs {