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

Compilation Aborted (code 3)

Intel_C_Intel
Employee
976 Views

When I compile the program below, I get the following message:

1>------ Build started: Project: Code3Test, Configuration: Debug Win32 ------

1>Compiling with Intel Fortran 9.1 C:Program FilesIntelCompilerFortran9.1IA32...

1>Code3Test.f90

1>compilation aborted for D:ProjectsMUTSModelObservedDLLCode3TestCode3TestCode3Test.f90 (code 3)

1>

1>Build log written to "file://D:ProjectsMUTSModelObservedDLLCode3TestCode3TestDebugBuildLog.htm"

1>Code3Test build failed.

1>

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

When I compile the same program in CVF6.6b it copiles OK. Can anybody please help me to solve this problem?

Frank Tap

I am using Intel Fortran Compiler Integration for Microsoft Visual Studio 2005, Version 9.1.3192.2005.

program

Code3Test

pointer

(testPtr, test)

contains

subroutine test

end subroutine

end

program Code3Test

0 Kudos
3 Replies
Intel_C_Intel
Employee
976 Views

When I compile the following version of the program it works fine:

program

Code3Test

pointer

(testPtr, test)

end

program Code3Test

subroutine

test

end subroutine

0 Kudos
Steven_L_Intel1
Employee
976 Views

I can reproduce this - it goes away if you turn off debugging. I'll pass it on to development to be fixed.

However, the program is incorrect. You're specifying that test is both a pointee routine and an actual routine. You have to choose one or the other.

0 Kudos
TimP
Honored Contributor III
976 Views

Cray pointers are an extension to Fortran 77. CONTAINed subroutines are exclusive to Fortran 90, and don't have visibility external to the containing function. I am not surprised the Cray pointer to the CONTAINed subroutine didn't work.

Examples I can find of Cray pointer to a subroutine show the pointee declared EXTERNAL. Then, the pointer has to be initialized by loc() (another extension to Fortran 77). It looks doubtful that the address of a CONTAINed subroutine could be relied upon. Attempting to make an analogy relevant to Fortran 77, I wouldn't expect to see Cray pointer used to point to a statement function, certainly not until I see it done successfully.

The people who set up the error diagnostic reporting may not have envisioned this category of problem. If you are interested, you could file a request on premier.intel.com to have better diagnostics issued.

0 Kudos
Reply