BUG: Fix exception handling flag translation to be specific to each VS version. This allows /EHa to be handled correctly for VS 2003.
This commit is contained in:
parent
5cd4f2a661
commit
bb1fa4c3f0
|
@ -813,6 +813,14 @@ static cmVS7FlagTable cmVS7ExtraFlagTable[] =
|
||||||
cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
|
cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
|
||||||
{"PrecompiledHeaderThrough", "Yu", "Precompiled Header Name", "",
|
{"PrecompiledHeaderThrough", "Yu", "Precompiled Header Name", "",
|
||||||
cmVS7FlagTable::UserValueRequired},
|
cmVS7FlagTable::UserValueRequired},
|
||||||
|
|
||||||
|
// Exception handling mode. If no entries match, it will be FALSE.
|
||||||
|
{"ExceptionHandling", "GX", "enable c++ exceptions", "TRUE", 0},
|
||||||
|
{"ExceptionHandling", "EHsc", "enable c++ exceptions", "TRUE", 0},
|
||||||
|
// The EHa option does not have an IDE setting. Let it go to false,
|
||||||
|
// and have EHa passed on the command line by leaving out the table
|
||||||
|
// entry.
|
||||||
|
|
||||||
{0,0,0,0,0}
|
{0,0,0,0,0}
|
||||||
};
|
};
|
||||||
cmVS7FlagTable const* cmGlobalVisualStudio7Generator::GetExtraFlagTableVS7()
|
cmVS7FlagTable const* cmGlobalVisualStudio7Generator::GetExtraFlagTableVS7()
|
||||||
|
|
|
@ -286,6 +286,12 @@ static cmVS7FlagTable cmVS8ExtraFlagTable[] =
|
||||||
{"PrecompiledHeaderThrough", "Yu", "Precompiled Header Name", "",
|
{"PrecompiledHeaderThrough", "Yu", "Precompiled Header Name", "",
|
||||||
cmVS7FlagTable::UserValueRequired},
|
cmVS7FlagTable::UserValueRequired},
|
||||||
// There is no YX option in the VS8 IDE.
|
// There is no YX option in the VS8 IDE.
|
||||||
|
|
||||||
|
// Exception handling mode. If no entries match, it will be FALSE.
|
||||||
|
{"ExceptionHandling", "GX", "enable c++ exceptions", "1", 0},
|
||||||
|
{"ExceptionHandling", "EHsc", "enable c++ exceptions", "1", 0},
|
||||||
|
{"ExceptionHandling", "EHa", "enable SEH exceptions", "2", 0},
|
||||||
|
|
||||||
{0,0,0,0,0}
|
{0,0,0,0,0}
|
||||||
};
|
};
|
||||||
cmVS7FlagTable const* cmGlobalVisualStudio8Generator::GetExtraFlagTableVS8()
|
cmVS7FlagTable const* cmGlobalVisualStudio8Generator::GetExtraFlagTableVS8()
|
||||||
|
|
|
@ -342,9 +342,6 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorFlagTable[] =
|
||||||
{"EnableFunctionLevelLinking", "Gy",
|
{"EnableFunctionLevelLinking", "Gy",
|
||||||
"EnableFunctionLevelLinking", "TRUE", 0},
|
"EnableFunctionLevelLinking", "TRUE", 0},
|
||||||
{"EnableIntrinsicFunctions", "Oi", "EnableIntrinsicFunctions", "TRUE", 0},
|
{"EnableIntrinsicFunctions", "Oi", "EnableIntrinsicFunctions", "TRUE", 0},
|
||||||
{"ExceptionHandling", "EHsc", "enable c++ exceptions", "TRUE", 0},
|
|
||||||
{"ExceptionHandling", "EHa", "enable c++ exceptions", "2", 0},
|
|
||||||
{"ExceptionHandling", "GX", "enable c++ exceptions", "TRUE", 0},
|
|
||||||
{"GlobalOptimizations", "Og", "Global Optimize", "TRUE", 0},
|
{"GlobalOptimizations", "Og", "Global Optimize", "TRUE", 0},
|
||||||
{"ImproveFloatingPointConsistency", "Op",
|
{"ImproveFloatingPointConsistency", "Op",
|
||||||
"ImproveFloatingPointConsistency", "TRUE", 0},
|
"ImproveFloatingPointConsistency", "TRUE", 0},
|
||||||
|
|
Loading…
Reference in New Issue