Changeset: b5c001d08ccb for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b5c001d08ccb Modified Files: cmake/monetdb-toolchain.cmake common/utils/matomic.h monetdb_config.h.in tools/monetdbe/monetdbe.c tools/monetdbe/monetdbe.h Branch: oscar Log Message:
Ported to Intel compiler on Windows. diffs (83 lines): diff --git a/cmake/monetdb-toolchain.cmake b/cmake/monetdb-toolchain.cmake --- a/cmake/monetdb-toolchain.cmake +++ b/cmake/monetdb-toolchain.cmake @@ -67,8 +67,9 @@ function(monetdb_default_toolchain) elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") if(WIN32) set(COMPILER_OPTION "/") -# MT_addCompilerFlag("${COMPILER_OPTION}DNO_ATOMIC_INSTRUCTIONS" "${COMPILER_OPTION}DNO_ATOMIC_INSTRUCTIONS=1" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) MT_addCompilerFlag("${COMPILER_OPTION}W3" "${COMPILER_OPTION}W3" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + MT_addCompilerFlag("${COMPILER_OPTION}Qdiag-disable:11074" "${COMPILER_OPTION}Qdiag-disable:11074" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) + MT_addCompilerFlag("${COMPILER_OPTION}Qdiag-disable:11075" "${COMPILER_OPTION}Qdiag-disable:11075" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) else() set(COMPILER_OPTION "-") MT_addCompilerFlag("${COMPILER_OPTION}Wall" "${COMPILER_OPTION}Wall" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS) diff --git a/common/utils/matomic.h b/common/utils/matomic.h --- a/common/utils/matomic.h +++ b/common/utils/matomic.h @@ -57,7 +57,9 @@ /* define this if you don't want to use atomic instructions */ /* #define NO_ATOMIC_INSTRUCTIONS */ -#if defined(HAVE_STDATOMIC_H) && !defined(__STDC_NO_ATOMICS__) && !defined(NO_ATOMIC_INSTRUCTIONS) +/* ignore __STDC_NO_ATOMICS__ if compiling using Intel compiler on + * Windows since otherwise we can't compile this at all in C99 mode */ +#if defined(HAVE_STDATOMIC_H) && (!defined(__STDC_NO_ATOMICS__) || (defined(__INTEL_COMPILER) && defined(_WINDOWS))) && !defined(NO_ATOMIC_INSTRUCTIONS) #include <stdatomic.h> diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -283,7 +283,15 @@ #cmakedefine SIZEOF_DOUBLE @SIZEOF_DOUBLE@ #cmakedefine SIZEOF_WCHAR_T @SIZEOF_WCHAR_T@ +#ifdef _MSC_VER +#ifdef _WIN64 +#define LENP_OR_POINTER_T SQLLEN * +#else +#define LENP_OR_POINTER_T SQLPOINTER +#endif +#else #cmakedefine LENP_OR_POINTER_T @LENP_OR_POINTER_T@ +#endif #cmakedefine SIZEOF_SQLWCHAR @SIZEOF_SQLWCHAR@ #cmakedefine WORDS_BIGENDIAN @HAVE_WORDS_BIGENDIAN@ diff --git a/tools/monetdbe/monetdbe.c b/tools/monetdbe/monetdbe.c --- a/tools/monetdbe/monetdbe.c +++ b/tools/monetdbe/monetdbe.c @@ -54,7 +54,7 @@ monetdbe_type(monetdbe_types t) { } } -static int +static monetdbe_types embedded_type(int t) { switch(t) { case TYPE_bit: return monetdbe_bool; @@ -75,7 +75,7 @@ embedded_type(int t) { default: if (t==TYPE_blob) return monetdbe_blob; - return -1; + return monetdbe_type_unknown; } } diff --git a/tools/monetdbe/monetdbe.h b/tools/monetdbe/monetdbe.h --- a/tools/monetdbe/monetdbe.h +++ b/tools/monetdbe/monetdbe.h @@ -59,7 +59,10 @@ typedef enum { #endif monetdbe_size_t, monetdbe_float, monetdbe_double, monetdbe_str, monetdbe_blob, - monetdbe_date, monetdbe_time, monetdbe_timestamp + monetdbe_date, monetdbe_time, monetdbe_timestamp, + + // should be last: + monetdbe_type_unknown } monetdbe_types; typedef struct { _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list