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

Reply via email to