DiscussionsIssue archiveOCCT:Configuration

Archived issue #0029249

Configuration - Standard_Failure compilation fails on VS2013 + Intel Compiler due to unavailability of thread_local

Open CASCADEOCCT:Configurationclosed3 public notes

Search issues

Description

1>  Standard_Failure.cxx
1>C:\OCCT\src\Standard\Standard_Failure.cxx(81): error # 303: explicit type is missing ("int" assumed)
1>    static Standard_THREADLOCAL Handle(Standard_Failure) RaisedError;


> "c:\Program Files\CMake\bin\cmake" -G "Visual Studio 12 2013 Win64" -T "Intel C++ Compiler 17.0"

From Intel documentation:
> N2659 Thread-local storage:
> Yes on Linux/OS X, Yes on Windows in VS2015 mode
> [Version 15.0*1 & Later].
https://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler

Within Standard_Failure.cxx:
#elif (defined(__INTEL_COMPILER) && __INTEL_COMPILER > 1400) || \
      (defined(_MSC_VER) && _MSC_VER >= 1900) /* MSVC++ >= 14 */ || \
      (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8))) /* GCC >= 4.8 */
  #define Standard_THREADLOCAL thread_local

So, I suppose that Intel Compiler relies on features of MSVC C++ Runtime libraries, and thread_local is available only within VS2015+.

Thus, the compiler check should be corrected somehow...

Public activity

3 archived notes

Participants are labeled by their role within this record.

01Commenter 3
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Oct 24 11:21:03 2017 +0300

    0029249: Configuration - Standard_Failure compilation fails on VS2013 + Intel Compiler due to unavailability of thread_local
    
    Check __INTEL_COMPILER version in combination with _MSC_VER on Windows.
02Author
Please check compilation using Intel compiler (and other compilers).
03Commenter 3
Branch [archived branch] has been deleted by Author.

[revision removed]

Related records