[ampl-mp] Limit the scope of ICE workaround (#5870)

This commit is contained in:
zhihaoy 2019-03-30 00:06:55 -05:00 committed by Phil Christensen
parent 4ce30f90ae
commit f2ae7bf937
3 changed files with 34 additions and 16 deletions

View File

@ -1,3 +1,3 @@
Source: ampl-mp Source: ampl-mp
Version: 2019-02-08 Version: 2019-03-21
Description: An open-source library for mathematical programming Description: An open-source library for mathematical programming

View File

@ -2,11 +2,15 @@ include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(FATAL_ERROR "Cross-compiling is not supported")
endif()
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO ampl/mp REPO ampl/mp
REF d305155b047b69fc5c6e5fda8630c753d7973b9a REF 67875b71ef68511277ec2dc8224f613487cefce9
SHA512 2c8ffd6de946a6f8ea94a8e0c00f03f67753ad99534e0d5fcaaaeb472fe76a3383324bcb628a31d8c01bc5f60254790f5508c8394096a4f05672f814dbd6fe2e SHA512 fad2496c10b843ddad7c4dba1eea1b4cd22e90be12dec2ad598fbd1ed5e1c492d92c5130490c7045ea608bc9ea2af191661c39b3bee3bc5159663f306ce50950
HEAD_REF master HEAD_REF master
PATCHES PATCHES
disable-matlab-mex.patch disable-matlab-mex.patch

View File

@ -1,14 +1,28 @@
--- a/src/asl/CMakeLists.txt 2019-02-07 22:45:15.191909400 -0600 diff --git a/src/asl/solvers/avltree.c b/src/asl/solvers/avltree.c
+++ b/src/asl/CMakeLists.txt 2019-02-07 22:47:10.364936600 -0600 index 7a9adaba..4dd97054 100644
@@ -216,6 +216,11 @@ add_mp_library(asl-core OBJECT ${ASL_COR --- a/src/asl/solvers/avltree.c
COMPILE_DEFINITIONS ${ASL_COMPILE_DEFINITIONS} +++ b/src/asl/solvers/avltree.c
INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}) @@ -54,6 +54,9 @@ AVL_Tree {
void (*Free)(void*);
};
+if (MSVC) +#if defined(_MSC_VER) && _MSC_VER < 1917
+ set_source_files_properties(solvers/avltree.c solvers/sphes.c +#pragma optimize("", off)
+ PROPERTIES COMPILE_OPTIONS /Od) +#endif
+endif () AVL_Tree*
+ AVL_Tree_alloc2(void *v, AVL_Elcomp cmp, void *(*Malloc)(size_t), void (*Free)(void*))
# Public ASL headers. {
set(ASL_HEADERS aslbuilder.h aslexpr.h aslexpr-visitor.h diff --git a/src/asl/solvers/sphes.c b/src/asl/solvers/sphes.c
aslproblem.h aslinterface.h ${CMAKE_CURRENT_BINARY_DIR}/stdio1.h) index 326d997f..ae8952ed 100644
--- a/src/asl/solvers/sphes.c
+++ b/src/asl/solvers/sphes.c
@@ -452,6 +452,9 @@ compar(const void *a, const void *b)
#undef del_mblk
#define del_mblk(b,c) Del_mblk_ASL(a,b,(Char*)(c))
+#if defined(_MSC_VER) && _MSC_VER < 1917
+#pragma optimize("", off)
+#endif
static void
new_Hesoprod(ASL_pfgh *asl, ograd *L, ograd *R, real coef)
{