Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

ICE

Walt_Brainerd
Beginner
934 Views
I stopped getting e-mail with these posts on Dec 2, so haven't kept track
of what is going on. But here is an ICE--maybe submitted previously.
 
 
 
ifort -c int*
Intel(R) Visual Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.
0.1.148 Build 20141023
Copyright (C) 1985-2014 Intel Corporation.  All rights reserved.
 
intel_bug.f90(32): error #5276: Unbalanced parentheses
   x = line_type(0.0, 1.0, 0.0, 1.0))
------------------------------------^
intel_bug.f90(32): error #5082: Syntax error, found ')' when expecting one of: <END-OF-STATEMENT> ;
   x = line_type(0.0, 1.0, 0.0, 1.0))
------------------------------------^
intel_bug.f90(32): error #8726: There may be at most one type parameter spec corresponding to each p
arameter of the type.   [0.0]
   x = line_type(0.0, 1.0, 0.0, 1.0))
-----------------^
fortcom: Fatal: There has been an internal compiler error (C0000005).
compilation aborted for intel_bug.f90 (code 1)
 
======================
module m
 
   implicit none
   private
 
   type, public :: line_type
      real :: x1, x2, y1, y2
   contains
      procedure, public :: length
   end type line_type
 
contains
 
function length(ab) result(length_result)
 
   class(line_type), intent(in) :: ab
   real :: length_result
   length_result = 1.1
 
end function length
 
end module m
 
program p
 
   use m
   implicit none
 
   class(line_type), allocatable :: x
 
! Note extra paren at end
   x = line_type(0.0, 1.0, 0.0, 1.0))
 
   print *, x%length() 
 
end program p
0 Kudos
7 Replies
Steven_L_Intel1
Employee
934 Views

Thanks, Walt, we'll take a look, but this sounds familiar.

0 Kudos
FortranFan
Honored Contributor III
934 Views

I can reproduce the ICE using Intel(R) Visual Fortran Compiler XE 15.0.1.148.

The offending line, when corrected for syntax, corresponds to an intrinsic assignment involving a polymorphic, allocatable variable, a Fortran 2008 feature, which is not yet supported by Intel Fortran.

Just got a Windows 8.1 laptop over the holidays and on this machine, the program when modified to not use a polymorphic variable for x (i.e., TYPE(line_type), ALLOCATABLE :: x) gives an "access violation" error upon execution at the assignment statement.  The same code runs fine on the Windows 7 PC that I normally use.  I just started on Windows 8.1 with this laptop (I hate it already!) and this is my first attempt at using Intel Fortran on it, so not sure if I have everything correct.  I wonder if someone can try to reproduce this attempt and post the response.

0 Kudos
mecej4
Honored Contributor III
934 Views

With the 15.0.1.148 compiler, the ICE (access violation) occurs only with the 64 bit compiler on Windows 8.1.

One of the first adds-on you (FortranFan) should consider when starting to use Win 8.x is  Classic Start Menu (or something similar) to avoid the frustrations of the 8.1 tile interface.

0 Kudos
dboggs
New Contributor I
934 Views

I have been using Win 8.1 for a few months now--always in the desktop (classic start) mode, and so far I find it no different from my previous Win 7. Except, that is, for the problem of unauthorized file access that I reported on another thread (the consensus is that was a timing problem caused by Windows delay in releasing a file handle, and happened because my 8.1 machine is "too fast").

But admittedly, my use of Fortran is pretty elementary, and I don't dabble in things like allocatable polymorphic variables. 

0 Kudos
FortranFan
Honored Contributor III
934 Views

FortranFan wrote:

..

Just got a Windows 8.1 laptop over the holidays and on this machine, the program when modified to not use a polymorphic variable for x (i.e., TYPE(line_type), ALLOCATABLE :: x) gives an "access violation" error upon execution at the assignment statement.  ...  I wonder if someone can try to reproduce this attempt and post the response.

False alarm: once I added /standard-semantics compiler option to the Windows 8.1 project, the program executed without any issues.

Re: Windows 8.1, thanks mecej4 and dboggs for the classic Start menu add-on suggestion.

0 Kudos
Steven_L_Intel1
Employee
934 Views

While I did remember another issue with unbalanced parentheses triggering an ICE, this case is different. Escalated as issue DPD200364932.

0 Kudos
Steven_L_Intel1
Employee
934 Views

This problem has been fixed for a release later this year.

0 Kudos
Reply