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

Visual Studio 2005 Abort follows Fortran Code

mattintelnetfort
Beginner
517 Views
Has anyone seen anything like this? Any ideas?
If the following Fortran source file is is used to create an executable (i.e., EXE), Visual Studio 2005 crashes (closes unexpectedly) when a breakpoint is added to the only executable line in the source file. To reproduce:
1) Create an empty Fortran console project.
2) Add the attached source file as the only source file in the project. Note there is a PROGRAM, and a SUBROUTINE with supporting ENTRY in the single source file. Also note that the subroutine is not even called from the main program (though the result is the same if it is called).
3) Build the debug configuration.
4) Run the executable built (no runtime arguments required). Note the console window will open and sit waiting for input.
5) With the console window waiting for input, place a breakpoint in the source file at the only executable line of code (i.e., "I20=0"). >> Now watch while Visual Studio crashes!
This test program represents a problem observed in our production application. The following observations have been noted regarding the Visual Studio crash:
1) If the test program is modified to remove the argument to the entry point, the crash described does not occur.
2) If the leading argument to the subroutine is removed from the argument list, the crash described does not occur.
3) If the trailing argument to the subroutine is removed from the argument list, the crash described does not occur. Note additional arguments can be added after the current last argument in the list and the crash still occurs.
4) If arguments R10 and R11 are removed from the argument list, the crash described does not occur.
5) No build settings changes could make this work.
---

PROGRAM TESTPROGRAM

read(5,*) i8

END

SUBROUTINE ROUTINE1(I1,RA1,DA1,IA1,DA15,IA2,IA3,IA4,IA5,IA6,IA7,

1 IA8,IA9,IA10,IA11,IA12,IA13,IA14,

1 IA15,IA16,IA17,DA2,DA3,DA4,DA5,RA2,

1 NA1,IA18,IA19,DA6,IA20,IA21,IA45,IA46,IA47,

1 IA22,IA23,IA24,IA25,IA27,IA26,IA28,IA29,DA7,

2 I2,I3,I4,I5,I6,I7,I8,IA30,

3 R1,R2,R3,R4,R5,R6,RA3,R7,I9,I10,I11,I12,

4 I13,LA1,IA31,IA32,IA33,I14,I15,

5 IA34,I16,D1,R8,R9,I17,I18,IA35,

5 DA8,DA9,DA10,DA11,I19,R10,R11,

5 IA36,DA12,DA13,IA37,IA38,IA39,IA40,

5 IA41,IA42,IA43,IA44,NA2,DA14)

C

IMPLICIT REAL*8 (A-H,O-Z)

REAL*8 DA15(1),DA2(1),DA3(1),DA4(1),DA5(1)

INTEGER*2 NA1(1)

REAL*8 DA1(1),DA8(1),DA9(1),DA10(1),DA11(1)

DIMENSION IA2(1),IA3(1),IA1(1),IA5(1),

1 IA4(1),IA15(1),IA16(1),IA36(1),IA20(1),IA17(1),IA18(1),

2 IA7( 1),IA8(1),IA9(1),IA10(1),IA6(1),DA6(1),IA30(1),

3 IA45(1),IA46(1),IA47(1),IA22(1),IA23(1),IA24(1),IA25(1),

5 IA26(1),IA28(1),IA29(1),DA7(1),IA19(0:300),IA21(1),IA27(1),

5 IA11(1),IA12(1),IA13(1),DA12(1),DA13(1),IA37(1),

7 IA38(1),IA39(1),IA40(1),IA31(1),IA32(1),

8 IA34(1),IA33(1),IA35(1),

9 IA14(1),DA14(1)

REAL*4 RA2(1),R1,R2,R3,R4,R5,RA3(1),R7,RA1(0:1),R8,

1 R9,R6,R10,R11

LOGICAL*1 LA1(1)

DIMENSION IA41(1),IA42(1),IA43(1),IA44(1)

INTEGER*2 NA2(1)

I20=0

RETURN

ENTRY ENTRY1(I21)

RETURN

END

0 Kudos
1 Reply
Steven_L_Intel1
Employee
517 Views
I suggest reporting this to Intel Premier Support.
0 Kudos
Reply