1

Topic: Incorrect behavior of Intel Compiler of a C ++

All greetings! Faced incorrect behavior of the compiler of Intel (R) a C ++ Intel (R) 64 Compiler for applications running on Intel (R) 64, Version 18.0.0.124 Build 20170811, the platform of assembly Windows 10 Minimum test example produces an error: Intel (R) a C ++ Intel (R) 64 Compiler for applications running on Intel (R) 64, Version 18.0.0.124 Build 20170811 Copyright (C) 1985-2017 Intels Corporation. All rights reserved. ConsoleApplication1.cpp ConsoleApplication1.cpp (3): error: incomplete type is not allowed class TemplateClass: public Base ^ detected during instantiation of class "TemplateClass <Base> [with Base=SomeClass]" at line 10 compilation aborted for ConsoleApplication1.cpp (code 2) The code: template <class Base> class TemplateClass: public Base {char t;}; class SomeClass {static TemplateClass <SomeClass> StaticMember;//<- - incomplete type is not allowed}; int main () {SomeClass cls; return 0;} The code correctly gathers in VS2015/2017, xCode 9. Also checked on ideone.com and godbolt.org.

2

Re: Incorrect behavior of Intel Compiler of a C ++

Hello, LeonCrew, you wrote: LC> All greetings! LC> Faced incorrect behavior of the compiler of Intel (R) a C ++ Intel (R) 64 Compiler for applications running on Intel (R) 64, Version 18.0.0.124 Build 20170811, the platform of assembly Windows 10 LC> the Minimum test example produces an error: It is simple to convergence, or in search workaround?

3

Re: Incorrect behavior of Intel Compiler of a C ++

Hello, Alexander G, you wrote: AG> It is simple to convergence, or in search workaround? It is More to workaround, but it would be desirable to understand, in what a problem at the given compiler on platform Windows. Since at our partners which wrote the code, C Intel Compiler ++ for Linux collects. In Intel support this example in the same way launched on linux and it gathered, now we asked to collect them on windows and they while are silent.

4

Re: Incorrect behavior of Intel Compiler of a C ++

Hello, LeonCrew, you wrote: LC> Hello, Alexander G, you wrote: AG>> It is simple to convergence, or in search workaround? LC> it is More to workaround, probably, such compiles. Let thinks that type incomplete, in method declaration incomplete types are admitted. template <class Base> class TemplateClass: public Base {char t;}; class SomeClass {static TemplateClass <SomeClass>& GetStaticMember ();}; TemplateClass <SomeClass> g_SomeClass_TemplateClass_instance; TemplateClass <SomeClass>& SomeClass:: GetStaticMember () {return g_SomeClass_TemplateClass_instance;} int main () {SomeClass cls; return 0;}

5

Re: Incorrect behavior of Intel Compiler of a C ++

Hello, LeonCrew, you wrote: LC> The code: template <class Base> class TemplateClass: public Base {char t;}; class SomeClass {static TemplateClass <SomeClass> StaticMember;//<- - incomplete type is not allowed}; int main () {SomeClass cls; return 0;} Here there is no even a line TemplateClass <SomeClass> SomeClass:: StaticMember; can, with it problems will not be?

6

Re: Incorrect behavior of Intel Compiler of a C ++

Hello, LeonCrew, you wrote: LC> Faced incorrect behavior of the compiler of Intel (R) a C ++ Intel (R) 64 Compiler for applications running on Intel (R) 64, Version 18.0.0.124 Build 20170811, a platform of assembly Windows 10 LC> the Minimum test example produces an error: LC>... LC> the Code correctly gathers in VS2015/2017, xCode 9. Also checked on ideone.com and godbolt.org. The compiler icc 18 on godbolt.org errors does not produce.

7

Re: Incorrect behavior of Intel Compiler of a C ++

Hello, Constructor, you wrote: LC>> the Code correctly gathers in VS2015/2017, xCode 9. Also checked on ideone.com and godbolt.org. The C> icc 18 on godbolt.org errors does not produce the Compiler. All incident that at me too 18 version of the compiler and at me an error, as well as at my colleagues! All of us work on a platform windows, and our partners, as well as the site resulted by you, works on linux and there the error is not present. I already wrote about it, and Intel support as checked up the code on linux versions but why that does not react to the request to check up on windows.

8

Re: Incorrect behavior of Intel Compiler of a C ++

Hello, LeonCrew, you wrote: LC> All incident that at me too 18 version of the compiler and at me an error, as well as at my colleagues! I confirm, on Vende in the version of the compiler 18.0 error is. I will try  to 18.1, can leaves.

9

Re: Incorrect behavior of Intel Compiler of a C ++

Hello, XOOIOOX, you wrote: XOO> I Will try  to 18.1, can leaves. Is not left.

10

Re: Incorrect behavior of Intel Compiler of a C ++

Hello, XOOIOOX, you wrote: XOO> Hello, XOOIOOX, you wrote: XOO>> I Will try  to 18.1, can leaves. XOO> is not left. There is a such. And official support simply ignores the given fact.