Intel® C++ Compiler

[[noreturn]] not supported in Intel Compiler 15.0 Update 6

struct S

[[noreturn]] void function() const;


Fails to compile with Intel Compiler 15.0 Update 6 (but does compile with Intel Compiler 16.0 Update 1)

1>CompileTest.cpp(7): error : expected an attribute name
1> [[noreturn]] void function() const;
1> ^

This breaks Intel Compiler 15.0 Update 6 support for Visual Studio 2015 Update 1 as this construct is used in many headers

Is this likely to be fixed in an update to Intel Compiler 15.0?

Modern C++ compilers, Intel, Microsoft, MinGW, etc vs. Open Watcom C++ compiler

As a matter of respect to Software Engineers of Watcom Corporation that worked hard more then 20 years ago on Watcom C++ compiler project.

Hello everybody,

It is Hard to believe that Open Watcom C++ compiler team would be able to restore Watcom C++ compiler Performance Glory.

So, take a look at a topic: 'Integration of Open Watcom C++ compiler - details, performance evaluation, etc'


Cannot compile when using stl libraries (Visual Studio 2015 with ICC)


When I include some of stl library header files, i.e. map, unordered_map, build phase spits out the following error messages:


1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\list(994): error : function returning function is not allowed

1>            _NOEXCEPT_OP(_Alty::is_always_equal::value)

1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\tuple(424): error : qualified name is not allowed

1>            _NOEXCEPT_OP(is_nothrow_move_assignable<_This>::value

common parameter for Language Support in VS2015 with IPSXE2016



Since Intel developers announced "C11 Support in Intel C++ Compiler" (, for some reason it was not added to "C/C++ => Language [Intel C++]" menu of Visual Studio project properties (same for C++14, BTW).

error: unrecognized modifier character q in substitution directive

Hi everyone,

Got error while building MPIR library ( using Intel C++ Compiler for Windows.

Used stuff:
- Windows 10,
- Visual Studio 2015 Update 1 with integrated Intel Parallel Studio XE 2016 Update 1,
- MPIR-2.7.2 sources (

vectorization of variable stride for loop

I noticed that Intel 16.0 and 16.0.1 C++ improved scalar optimization of variable stride to the point where it matches gcc and MSVC and makes the default auto-vectorization of such loops unproductive for host AVX, e.g.

foo( float * __restrict a, float * b);

#if _OPENMP >= 201307
#if ! __MIC__
#pragma omp simd safelen(1)
#pragma omp simd
      for (i = *n1; i <= i2; i__ += i3)
          a[i] += b[i];

yet the vectorization for MIC doesn't occur without pragma.

Possible compiler bug: templated code, multiple files, multiple instruction sets

Hi all,

I believe I've found a bug with the compiler - but am willing to be proved wrong <g>.

I have a project which is set up with different object files to target different instruction sets. Each of these object files instantiates some of the same templated code with different parameters:

in template_foo.h:

template <class impl_t> class Thing


   impl_t addTwo(const impl_t& a, const impl_t& b)


     return (a+b);



in SSEImplementation.cpp:

Thing<SSEImplType> x;

S’abonner à Intel® C++ Compiler