From 70232f52e90e034cf08356bfdd4d55202d83cdbc Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 14 Oct 2013 15:08:06 +0000 Subject: [PATCH] Do define __VISUALC__ when using Intel compiler under Windows. This undoes r74888, r74913 and r74969 because all of them were still not enough to make ICC build work correctly. So instead of trying to find all the places where we need to test for __INTELC__ in addition to __VISUALC__, just revert to defining __VISUALC__ for ICC under Windows as it uses its CRT anyhow and in the vast majority of cases we are actually testing for the CRT and not the compiler anyhow. Closes #15359. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/chartype.h | 2 +- include/wx/compiler.h | 8 +++++++- include/wx/dlimpexp.h | 2 +- include/wx/filefn.h | 8 ++++---- include/wx/wxcrt.h | 2 +- include/wx/wxcrtbase.h | 2 +- src/common/filefn.cpp | 1 - src/common/time.cpp | 2 +- 8 files changed, 16 insertions(+), 11 deletions(-) diff --git a/include/wx/chartype.h b/include/wx/chartype.h index fbc307deb0..5217258d1b 100644 --- a/include/wx/chartype.h +++ b/include/wx/chartype.h @@ -90,7 +90,7 @@ /* -------------------------------------------------------------------------- */ /* VC++ and BC++ starting with 5.2 have TCHAR support */ -#if defined(__VISUALC__) || (defined(__WINDOWS__) && defined(__INTELC__)) +#ifdef __VISUALC__ #define wxHAVE_TCHAR_SUPPORT #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x520) #define wxHAVE_TCHAR_SUPPORT diff --git a/include/wx/compiler.h b/include/wx/compiler.h index abca4e185c..34a4718cb6 100644 --- a/include/wx/compiler.h +++ b/include/wx/compiler.h @@ -16,9 +16,15 @@ Compiler detection and related helpers. */ +/* + Notice that Intel compiler can be used as Microsoft Visual C++ add-on and + so we should define both __INTELC__ and __VISUALC__ for it. +*/ #ifdef __INTEL_COMPILER # define __INTELC__ -#elif defined(_MSC_VER) +#endif + +#if defined(_MSC_VER) /* define another standard symbol for Microsoft Visual C++: the standard one (_MSC_VER) is also defined by some other compilers. diff --git a/include/wx/dlimpexp.h b/include/wx/dlimpexp.h index b745fe6fe7..800b745fa6 100644 --- a/include/wx/dlimpexp.h +++ b/include/wx/dlimpexp.h @@ -23,7 +23,7 @@ __declspec works in BC++ 5 and later, Watcom C++ 11.0 and later as well as VC++. */ -# if defined(__VISUALC__) || defined(__BORLANDC__) || defined(__WATCOMC__) || (defined(__WINDOWS__) && defined(__INTELC__)) +# if defined(__VISUALC__) || defined(__BORLANDC__) || defined(__WATCOMC__) # define WXEXPORT __declspec(dllexport) # define WXIMPORT __declspec(dllimport) /* diff --git a/include/wx/filefn.h b/include/wx/filefn.h index fd87478863..95b3051c05 100644 --- a/include/wx/filefn.h +++ b/include/wx/filefn.h @@ -77,7 +77,7 @@ // constants // ---------------------------------------------------------------------------- -#if defined(__VISUALC__) || (defined(__WINDOWS__) && defined(__INTELC__)) || defined(__DIGITALMARS__) +#if defined(__VISUALC__) || defined(__DIGITALMARS__) typedef int mode_t; #endif @@ -92,7 +92,7 @@ #endif #endif -#if (defined(__VISUALC__) && !defined(__WXWINCE__)) || (defined(__WINDOWS__) && defined (__INTELC__)) +#if defined(__VISUALC__) && !defined(__WXWINCE__) typedef _off_t off_t; #elif defined(__SYMANTEC__) typedef long off_t; @@ -187,7 +187,7 @@ enum wxPosixPermissions #define wxStructStat struct _stat #elif (defined(__WINDOWS__) || defined(__OS2__)) && \ ( \ - (defined(__VISUALC__) || (defined(__WINDOWS__) && defined (__INTELC__))) || \ + defined(__VISUALC__) || \ defined(__MINGW64__) || \ (defined(__MINGW32__) && !defined(__WINE__) && \ wxCHECK_W32API_VERSION(0, 5)) || \ @@ -201,7 +201,7 @@ enum wxPosixPermissions #undef wxHAS_HUGE_STDIO_FILES // detect compilers which have support for huge files - #if (defined(__VISUALC__) || (defined(__WINDOWS__) && defined (__INTELC__))) + #if defined(__VISUALC__) #define wxHAS_HUGE_FILES 1 #elif defined(__MINGW32__) || defined(__MINGW64__) #define wxHAS_HUGE_FILES 1f diff --git a/include/wx/wxcrt.h b/include/wx/wxcrt.h index 8164b26f14..dd579364fa 100644 --- a/include/wx/wxcrt.h +++ b/include/wx/wxcrt.h @@ -17,7 +17,7 @@ #ifndef __WX_SETUP_H__ // For non-configure builds assume vsscanf is available, if not Visual C or DMC -#if !defined (__VISUALC__) && !(defined(__WINDOWS__) && defined(__INTELC__)) && !defined (__DMC__) +#if !defined (__VISUALC__) && !defined (__DMC__) #define HAVE_VSSCANF 1 #endif #endif diff --git a/include/wx/wxcrtbase.h b/include/wx/wxcrtbase.h index 20ce1823d2..16f6499229 100644 --- a/include/wx/wxcrtbase.h +++ b/include/wx/wxcrtbase.h @@ -165,7 +165,7 @@ WXDLLIMPEXP_BASE void *calloc( size_t num, size_t size ); /* Almost all compilers have strdup(), but VC++ and MinGW call it _strdup(). And it's not available in MinGW strict ANSI mode nor under Windows CE. */ -#if (defined(__VISUALC__) && __VISUALC__ >= 1400) || (defined(_MSC_VER) && _MSC_VER >= 1400 && defined (__INTELC__)) +#if (defined(__VISUALC__) && __VISUALC__ >= 1400) #define wxCRT_StrdupA _strdup #elif defined(__MINGW32__) #ifndef __WX_STRICT_ANSI_GCC__ diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index 8d68fee7db..4b87feb7db 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -1191,7 +1191,6 @@ wxRenameFile(const wxString& file1, const wxString& file2, bool overwrite) bool wxRemoveFile(const wxString& file) { #if defined(__VISUALC__) \ - || (defined(__WINDOWS__) && defined(__INTELC__)) \ || defined(__BORLANDC__) \ || defined(__WATCOMC__) \ || defined(__DMC__) \ diff --git a/src/common/time.cpp b/src/common/time.cpp index 5c42a1d71e..011b601490 100644 --- a/src/common/time.cpp +++ b/src/common/time.cpp @@ -190,7 +190,7 @@ int wxGetTimeZone() struct timeb tb; ftime(&tb); return tb.timezone*60; -#elif defined(__VISUALC__) || (defined(__WINDOWS__) && defined(__INTELC__)) +#elif defined(__VISUALC__) // We must initialize the time zone information before using it (this will // be done only once internally). _tzset();