Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29276 Discussions

Once Again - Internal compiler error when dealing with more than 4 classes

rogcar
Beginner
979 Views
Good afternoon

While testing use of more than 4 classes (parent, then 3 extends), I got an internal compiler error. No matter which compiling mode, the error remains. I attached some files that reproduces the internal error. Notice that if you remove one of the parent classes (i.e. child1, that could be easily removed from the example), the program works just fine. This time, I installed the newest version (046 update 2) to test it, and the error still remains.

Sorry to come up with this subject again Steve Lionel, but I thoughtit was solved when I closed the previous discussion.

Regards,
Roger
0 Kudos
10 Replies
Steven_L_Intel1
Employee
979 Views

I see now. Note that in your Debug build, you compiled only one source, TestChild.f90. This compile was done with the 11.1.046 compiler, but I'm guessing that the other sources had been compiled earlier with 11.1.035. Your Release build is done with 11.1.035 and again compiles only TestChild. If I rebuild the project with 11.1.035, I get the error, but not if I compile all the sources with 11.1.046.

Please do a Rebuild of the solution with 11.1.046 and see if the problem goes away.
0 Kudos
rogcar
Beginner
979 Views
You are correct, Steve. My mistake. Nevertheless, I still get the same error inthe program that I'm actually developing, although I've rebuilted it. It has a similar class structure. I will try to reproduce this error, and, as soon as I can, I'll add new files.

Regards,
Roger
0 Kudos
rogcar
Beginner
979 Views
Well, I couldn't reproduce the error, although I still have to deal with it. Is there any other way that I can send you the project file (privately)?

By the way, you may have noticed another bug. If you have several procedures in a class, all of them have the save address. You can check it by opening the "this" pointer. In the previous version (035), the address were different, although wrong (some calls lead to another function). I've reported it before, but now the error is different.

Regards,
Roger
0 Kudos
rogcar
Beginner
979 Views
Thanks, Steve

I attached the files. It is a program that I'm developping to teach the FEM usingfortran and OO design. Althought I'll make it public in the future, I don't want it to become public while I'm still developping it. There is a lot to do, but it is quite simple.

Regards,
Rogerio

0 Kudos
Steven_L_Intel1
Employee
979 Views
Ok - got it and I can reproduce the error. Thanks.
0 Kudos
Steven_L_Intel1
Employee
979 Views
Escalated as issue DPD200140388. I was able to reduce it quite a bit. It seems to be sensitive to the number of type-bound procedures in types EBEAM and ELEM rather than the number of classes.
0 Kudos
rogcar
Beginner
979 Views
Thanks, Steve

I'm glad I could help! But notice that if you remove the module class_reti and extend classes truss and beam directly from elem (as they are derived from reti), the program compiles with no error. Maybe it has something related to the type-bound procedures, as they are probably duplicated (or inherited) in the child class. Just a guess.

Good luck
Roger


0 Kudos
Steven_L_Intel1
Employee
979 Views
You're using overriding of type-bound procedures, which is an area we have had some issues with. The developers are looking at this now.
0 Kudos
Steven_L_Intel1
Employee
979 Views
This is expected to be fixed in Update 4, scheduled for mid-December.
0 Kudos
Steven_L_Intel1
Employee
979 Views
And indeed it is fixed in Update 4.
0 Kudos
Reply