Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Avisos
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.

PSXE 2017 Update 2 - Internal Compiler Error(s) involving PARAMETER constants and /debug-parameters /debug options

Kevin_D_Intel
Empleados
1.111 Vistas

PSXE 2017 Update 2 - Internal Compiler Error(s) involving PARAMETER constants and /debug-parameters /debug options

A defect (regression) has been found in the Intel® Parallel Studio XE 2017 Update 2 (17.0 compiler) release involving the use of PARAMETER constants along with the /debug-parameter and /debug options. The combined use can led to multiple internal compiler errors.

The following example (complements of andrew_4619) demonstrates usage that will trigger the internal error:

module ice
    implicit none
    integer, parameter :: ld=82  
    contains
    subroutine thingy 
        call bob(ld)
    end subroutine thingy 
    subroutine bob(I)
        integer,intent(in) :: I
        print *, I
    end subroutine bob
end module ice

Users may experience several internal errors during a build attempt for the Debug configuration under Visual Studio where it is common to have /debug-parameter and /debug options enabled simultaneously.

Users can work around the defect by either:

  1. Under Visual Studio, disabling the /debug-parameters option under: Properties > Fortran > Debugging > Information for PARAMETER Constants set to None
  2. Under Visual Studio, using only minimal /debug information (i.e. Properties > Fortran > Debugging > Information set to Line Numbers Only) with any setting for /debug-parameters (see the property setting in #1 above).
  3. On the compiler command-line, removing all occurrences of the /debug-parameters from compiler command-line or within application build scripts when using /debug:full
  4. On the compiler command-line, using /debug:minimal with any setting for /debug-parameters on the compiler command-line or within application build scripts.

The internal tracking id for this defect is: DPD200418283.

(Resolution Update on 05/12/2017): This defect is fixed in the Intel® Parallel Studio XE 2017 Update 4 release (ifort Version 17.0.4.210 Build 20170428 - PSXE 2017.4.051 / CnL 2017.4.210 - Windows)

 

0 kudos
6 Respuestas
Lee_B_3
Novato
1.111 Vistas

Greetings,

     I was debugging some code and tried to right-click on a PARAMETER constant to use QuickWatch to see its value.  It showed as UNDEFINED, but each case I try that acts this way, seems to evaluate correctly.  I am using IVF 2017, update 2, and FULL debug mode.  Am I supposed to be able to QuickWatch PARAMETER constants or is this perhaps a symptom of the issue mentioned above?

     Thank you in advance.

Take Care,

Lee Benjamin

Kevin_D_Intel
Empleados
1.111 Vistas

If you disable (or set to None) the specific debugging aid for PARAMETERS as noted in item #1 of the original post then under the debugger you will see Undefined for parameter constants.

If you do not have the type of use shown in the example that triggers the internal error then you can enable the setting in item #1 and be able to view a parameter constant's value via QuickWatch as shown below.

Johannes_Rieke
Nuevo Colaborador III
1.111 Vistas

PSXE2017 update 4 solves the ICE problem for me. Hooray!

Kevin_D_Intel
Empleados
1.111 Vistas

Yes, PSXE 2017 Update 4 contains the fix for this issue.

Pelle_R_
Principiante
1.111 Vistas

While the sample code from the OP does compile using ifort 17.0.4.210, below code (same code, but character constant instead of integer) still does not:

module ice
    implicit none
    character, parameter :: ld = 'c'
    contains
    subroutine thingy
        call bob(ld)
    end subroutine thingy
    subroutine bob(I)
        character, intent(in) :: I
        print *, I
    end subroutine bob
end module ice

 

Kevin_D_Intel
Empleados
1.111 Vistas

Thank you Pelle. I confirmed this and informed our Developers. Our apologies this case was also not fixed.

(Internal tracking id: CMPLRS-43068)

Responder