Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/premake-4.x.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUnknown <dev@Rose-PC.cable.virginmedia.net>2011-04-29 05:07:38 +0400
committerUnknown <dev@Rose-PC.cable.virginmedia.net>2011-04-29 05:07:38 +0400
commita0fa8c04e03961b509bb5cbe5607d741568d8c1d (patch)
treeb5d982abdb3c22fc5b3da86f868dea7eda87ac47
parent37432fef37609cf953202def7e0612dbcbb623db (diff)
Fixes Bug 3294459: vs10 x86_64 using incorrect debug format for minimal rebuild
there is not an option for setting /Z7 OldStyle so OldStyle was removed /ZI is not compatible with /clr or x64_64 minimal Rebuild requires /Zi in x86_64
-rw-r--r--CHANGES.txt2
-rw-r--r--src/actions/vstudio/vs2010_vcxproxj.lua12
-rw-r--r--tests/actions/vstudio/test_vs2010_flags.lua27
3 files changed, 27 insertions, 14 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index ea4fcbc..cfb2f87 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -12,7 +12,7 @@
* Bug 3157645: Full path for xcode frameworks
* Bug 3232160: Environment variables are cut off
* Patch 3043933 gmake incorrectly links using -l when a solution contains a .so and .a of the same name and the static lib is wanted (Jonathan Derque)
-
+* Bug 3294459: vs10 x86_64 using incorrect debug format for minimal rebuild (learner)
-------
4.3
diff --git a/src/actions/vstudio/vs2010_vcxproxj.lua b/src/actions/vstudio/vs2010_vcxproxj.lua
index cff6deb..d00cc11 100644
--- a/src/actions/vstudio/vs2010_vcxproxj.lua
+++ b/src/actions/vstudio/vs2010_vcxproxj.lua
@@ -305,12 +305,14 @@ local vs10_helpers = premake.vstudio.vs10_helpers
--
local debug_info = ''
if cfg.flags.Symbols then
- if optimisation(cfg) ~= "Disabled" or cfg.flags.NoEditAndContinue then
- debug_info = "ProgramDatabase"
- elseif cfg.platform ~= "x64" then
- debug_info = "EditAndContinue"
+ if cfg.platform == "x64"
+ or cfg.flags.Managed
+ or optimisation(cfg) ~= "Disabled"
+ or cfg.flags.NoEditAndContinue -- then
+ then
+ debug_info = "ProgramDatabase"
else
- debug_info = "OldStyle"
+ debug_info = "EditAndContinue"
end
end
diff --git a/tests/actions/vstudio/test_vs2010_flags.lua b/tests/actions/vstudio/test_vs2010_flags.lua
index 97057e9..15c493a 100644
--- a/tests/actions/vstudio/test_vs2010_flags.lua
+++ b/tests/actions/vstudio/test_vs2010_flags.lua
@@ -206,13 +206,24 @@ function vs10_flags.mfc_useOfMfc_setToStatic()
test.string_contains(buffer,'<UseOfMfc>Dynamic</UseOfMfc>')
end
-function vs10_flags.Symbols_DebugInformationFormat_setToEditAndContinue()
+--there is not an option for /Z7 OldStyle
+--/ZI is not compatible with /clr or x64_64
+--minimal Rebuild requires /Zi in x86_64
+
+function vs10_flags.symbols_32BitBuild_DebugInformationFormat_setToEditAndContinue()
flags{"Symbols"}
-
+ platforms{'x32'}
local buffer = get_buffer()
test.string_contains(buffer,'<DebugInformationFormat>EditAndContinue</DebugInformationFormat>')
end
+function vs10_flags.symbols_64BitBuild_DebugInformationFormat_setToProgramDatabase()
+ flags{"Symbols"}
+ platforms{"x64"}
+ local buffer = get_buffer()
+ test.string_contains(buffer,'<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>')
+end
+
function vs10_flags.symbolsAndNoEditAndContinue_DebugInformationFormat_setToProgramDatabase()
flags{"Symbols","NoEditAndContinue"}
@@ -226,16 +237,16 @@ function vs10_flags.symbolsAndRelease_DebugInformationFormat_setToProgramDatabas
local buffer = get_buffer()
test.string_contains(buffer,'<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>')
end
-function vs10_flags.noSymbols_DebugInformationFormat_blockIsEmpty()
+
+function vs10_flags.symbolsManaged_DebugInformationFormat_setToProgramDatabase()
+ flags{"Symbols","Managed"}
local buffer = get_buffer()
- test.string_contains(buffer,'<DebugInformationFormat></DebugInformationFormat>')
+ test.string_contains(buffer,'<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>')
end
-function vs10_flags.symbols_64BitBuild_DebugInformationFormat_setToOldStyle()
- flags{"Symbols"}
- platforms{"x64"}
+function vs10_flags.noSymbols_DebugInformationFormat_blockIsEmpty()
local buffer = get_buffer()
- test.string_contains(buffer,'<DebugInformationFormat>OldStyle</DebugInformationFormat>')
+ test.string_contains(buffer,'<DebugInformationFormat></DebugInformationFormat>')
end
function vs10_flags.noManifest_GenerateManifest_setToFalse()