Skip to content

Commit 10684ae

Browse files
committed
Add test case for Intel 19.1 regression
1 parent db8c41e commit 10684ae

File tree

6 files changed

+385
-189
lines changed

6 files changed

+385
-189
lines changed

intel-bugs/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ include(testing)
55

66
project(intel-bugs Fortran)
77

8+
add_compiler_test(SOURCES intel-20200125.f90 RUN_ONLY)
89
add_compiler_test(SOURCES intel-20191229.f90 RUN_ONLY)
910
add_compiler_test(SOURCES intel-20191228.f90)
1011
add_compiler_test(SOURCES intel-20190909.f90 COMPILE_ONLY)

intel-bugs/intel-20200125.f90

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
!! SRN 04502674
2+
!!
3+
!! WRONG RESULT FROM POLYMORPHIC POINTER ASSIGNMENT
4+
!!
5+
!! This example shows that the polymorphic pointer assignment
6+
!! is being done incorrectly, giving either wrong results or
7+
!! a segfault. This occurs for version 19.1 and is a regression
8+
!! from 18 and 19.0.
9+
!!
10+
!! $ ifort --version
11+
!! ifort (IFORT) 19.1.0.166 20191121
12+
!! $ ifort -g -traceback intel-20200125.f90
13+
!! $ ./a.out
14+
!! loop
15+
!! forrtl: severe (174): SIGSEGV, segmentation fault occurred
16+
!! Image PC Routine Line Source
17+
!! a.out 0000000000404BFA Unknown Unknown Unknown
18+
!! libpthread-2.28.s 00007FA0760F3E70 Unknown Unknown Unknown
19+
!! a.out 0000000000403A01 mod_mp_next_ 27 intel-20200125.f90
20+
!! a.out 0000000000403D5D MAIN__ 44 intel-20200125.f90
21+
!! a.out 00000000004037E2 Unknown Unknown Unknown
22+
!! libc-2.28.so 00007FA075F39413 __libc_start_main Unknown Unknown
23+
!! a.out 00000000004036EE Unknown Unknown Unknown
24+
25+
module mod
26+
27+
type :: list_item
28+
type(list_item), pointer :: next => null()
29+
end type
30+
31+
type :: iterator
32+
class(list_item), pointer :: item => null()
33+
contains
34+
procedure :: next
35+
end type
36+
37+
contains
38+
39+
subroutine next(this)
40+
class(iterator), intent(inout) :: this
41+
logical :: flag
42+
if(associated(this%item)) flag = associated(this%item%next)
43+
if(associated(this%item)) this%item => this%item%next ! SEGFAULT HERE OR WRONG RESULT
44+
if (associated(this%item) .neqv. flag) stop 1 ! THESE SHOULD BE THE SAME
45+
end subroutine
46+
47+
end module
48+
49+
use mod
50+
type(iterator) :: iter
51+
type(list_item), pointer :: head
52+
53+
! One item in the list ==> segfault
54+
! Two items in the list ==> premature exit from loop
55+
allocate(head)
56+
!allocate(head%next) ! add a second item
57+
iter%item => head
58+
do while (associated(iter%item))
59+
print *, 'loop'
60+
call iter%next
61+
end do
62+
end
63+

intel-bugs/log-18.0.5.txt

Lines changed: 104 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,114 @@
11
Test project /home/nnc/Fortran/fortran-compiler-tests/intel-bugs/build
2-
Start 1: intel-20190909-obj
3-
1/41 Test #1: intel-20190909-obj ...............***Failed 0.09 sec
4-
Start 2: intel-20190903b-obj
5-
2/41 Test #2: intel-20190903b-obj .............. Passed 0.14 sec
6-
Start 3: intel-20190903-obj
7-
3/41 Test #3: intel-20190903-obj ............... Passed 0.11 sec
8-
Start 4: intel-20190901-obj
9-
4/41 Test #4: intel-20190901-obj ...............***Failed 0.08 sec
10-
Start 5: intel-20180222-run
11-
5/41 Test #5: intel-20180222-run ............... Passed 0.00 sec
12-
Start 6: intel-20180221-run
13-
6/41 Test #6: intel-20180221-run ...............***Failed 0.00 sec
14-
Start 7: intel-20180117-run
15-
7/41 Test #7: intel-20180117-run ...............***Failed Required regular expression not found.Regex=[5 9
2+
Start 1: intel-20200125-run
3+
1/45 Test #1: intel-20200125-run ............... Passed 0.00 sec
4+
Start 2: intel-20191229-run
5+
2/45 Test #2: intel-20191229-run ...............***Failed 0.00 sec
6+
Start 3: intel-20191228-exe
7+
3/45 Test #3: intel-20191228-exe ...............***Failed 0.17 sec
8+
Start 4: intel-20191228-run
9+
Failed test dependencies: intel-20191228-exe
10+
4/45 Test #4: intel-20191228-run ...............***Not Run 0.00 sec
11+
Start 5: intel-20190909-obj
12+
5/45 Test #5: intel-20190909-obj ...............***Failed 0.18 sec
13+
Start 6: intel-20190903b-obj
14+
6/45 Test #6: intel-20190903b-obj .............. Passed 0.27 sec
15+
Start 7: intel-20190903-obj
16+
7/45 Test #7: intel-20190903-obj ............... Passed 0.23 sec
17+
Start 8: intel-20190901-obj
18+
8/45 Test #8: intel-20190901-obj ...............***Failed 0.17 sec
19+
Start 9: intel-20180222-run
20+
9/45 Test #9: intel-20180222-run ............... Passed 0.00 sec
21+
Start 10: intel-20180221-run
22+
10/45 Test #10: intel-20180221-run ...............***Failed 0.00 sec
23+
Start 11: intel-20180117-run
24+
11/45 Test #11: intel-20180117-run ...............***Failed Required regular expression not found.Regex=[5 9
1625
] 0.00 sec
17-
Start 8: intel-20180115-run
18-
8/41 Test #8: intel-20180115-run ...............***Failed Required regular expression not found.Regex=[5 'fubar'
26+
Start 12: intel-20180115-run
27+
12/45 Test #12: intel-20180115-run ...............***Failed Required regular expression not found.Regex=[5 'fubar'
1928
] 0.00 sec
20-
Start 9: intel-20171126-exe
21-
9/41 Test #9: intel-20171126-exe ...............***Failed 0.09 sec
22-
Start 10: intel-20171126-run
29+
Start 13: intel-20171126-exe
30+
13/45 Test #13: intel-20171126-exe ...............***Failed 0.17 sec
31+
Start 14: intel-20171126-run
2332
Failed test dependencies: intel-20171126-exe
24-
10/41 Test #10: intel-20171126-run ...............***Not Run 0.00 sec
25-
Start 11: intel-20171115-obj
26-
11/41 Test #11: intel-20171115-obj ............... Passed 0.12 sec
27-
Start 12: intel-20171023-run
28-
12/41 Test #12: intel-20171023-run ............... Passed 0.00 sec
29-
Start 13: intel-20171019-run
30-
13/41 Test #13: intel-20171019-run ............... Passed 0.00 sec
31-
Start 14: intel-20171018-obj
32-
14/41 Test #14: intel-20171018-obj ............... Passed 0.12 sec
33-
Start 15: intel-20150601-run
34-
15/41 Test #15: intel-20150601-run ............... Passed 0.00 sec
35-
Start 16: intel-20150531-obj
36-
16/41 Test #16: intel-20150531-obj ............... Passed 0.16 sec
37-
Start 17: intel-20141014-run
38-
17/41 Test #17: intel-20141014-run ............... Passed 0.00 sec
39-
Start 18: intel-20140618a-run
40-
18/41 Test #18: intel-20140618a-run .............. Passed 0.00 sec
41-
Start 19: intel-20140618b-run
42-
19/41 Test #19: intel-20140618b-run .............. Passed 0.00 sec
43-
Start 20: intel-20140617-run
44-
20/41 Test #20: intel-20140617-run ............... Passed 0.00 sec
45-
Start 21: intel-20140616-run
46-
21/41 Test #21: intel-20140616-run ............... Passed 0.00 sec
47-
Start 22: intel-20140610-run
48-
22/41 Test #22: intel-20140610-run ............... Passed 0.00 sec
49-
Start 23: intel-20140609-obj
50-
23/41 Test #23: intel-20140609-obj ............... Passed 0.14 sec
51-
Start 24: intel-20140424-run
52-
24/41 Test #24: intel-20140424-run ............... Passed 0.00 sec
53-
Start 25: intel-20140420-obj
54-
25/41 Test #25: intel-20140420-obj ............... Passed 0.11 sec
55-
Start 26: intel-20140109-obj
56-
26/41 Test #26: intel-20140109-obj ............... Passed 0.12 sec
57-
Start 27: intel-20131030-run
58-
27/41 Test #27: intel-20131030-run ............... Passed 0.00 sec
59-
Start 28: intel-20130802-obj
60-
28/41 Test #28: intel-20130802-obj ............... Passed 0.09 sec
61-
Start 29: intel-20130802a-obj
62-
29/41 Test #29: intel-20130802a-obj .............. Passed 0.11 sec
63-
Start 30: intel-20130330a-obj
64-
30/41 Test #30: intel-20130330a-obj .............. Passed 0.11 sec
65-
Start 31: intel-20130330b-obj
66-
31/41 Test #31: intel-20130330b-obj .............. Passed 0.11 sec
67-
Start 32: intel-20121014-run
68-
32/41 Test #32: intel-20121014-run ............... Passed 0.00 sec
69-
Start 33: intel-20121013a-run
70-
33/41 Test #33: intel-20121013a-run .............. Passed 0.00 sec
71-
Start 34: intel-20121013-obj
72-
34/41 Test #34: intel-20121013-obj ............... Passed 0.08 sec
73-
Start 35: intel-20121008-run
74-
35/41 Test #35: intel-20121008-run ............... Passed 0.00 sec
75-
Start 36: intel-20121007a-obj
76-
36/41 Test #36: intel-20121007a-obj .............. Passed 0.12 sec
77-
Start 37: intel-20121007b-run
78-
37/41 Test #37: intel-20121007b-run .............. Passed 0.00 sec
79-
Start 38: intel-20121006-obj
80-
38/41 Test #38: intel-20121006-obj ............... Passed 0.10 sec
81-
Start 39: intel-20121006a-obj
82-
39/41 Test #39: intel-20121006a-obj .............. Passed 0.12 sec
83-
Start 40: intel-20121006b-obj
84-
40/41 Test #40: intel-20121006b-obj .............. Passed 0.16 sec
85-
Start 41: intel-20121001-run
86-
41/41 Test #41: intel-20121001-run ............... Passed 0.00 sec
33+
14/45 Test #14: intel-20171126-run ...............***Not Run 0.00 sec
34+
Start 15: intel-20171115-obj
35+
15/45 Test #15: intel-20171115-obj ............... Passed 0.23 sec
36+
Start 16: intel-20171023-run
37+
16/45 Test #16: intel-20171023-run ............... Passed 0.00 sec
38+
Start 17: intel-20171019-run
39+
17/45 Test #17: intel-20171019-run ............... Passed 0.00 sec
40+
Start 18: intel-20171018-obj
41+
18/45 Test #18: intel-20171018-obj ............... Passed 0.23 sec
42+
Start 19: intel-20150601-run
43+
19/45 Test #19: intel-20150601-run ............... Passed 0.00 sec
44+
Start 20: intel-20150531-obj
45+
20/45 Test #20: intel-20150531-obj ............... Passed 0.21 sec
46+
Start 21: intel-20141014-run
47+
21/45 Test #21: intel-20141014-run ............... Passed 0.00 sec
48+
Start 22: intel-20140618a-run
49+
22/45 Test #22: intel-20140618a-run .............. Passed 0.00 sec
50+
Start 23: intel-20140618b-run
51+
23/45 Test #23: intel-20140618b-run .............. Passed 0.00 sec
52+
Start 24: intel-20140617-run
53+
24/45 Test #24: intel-20140617-run ............... Passed 0.00 sec
54+
Start 25: intel-20140616-run
55+
25/45 Test #25: intel-20140616-run ............... Passed 0.00 sec
56+
Start 26: intel-20140610-run
57+
26/45 Test #26: intel-20140610-run ............... Passed 0.00 sec
58+
Start 27: intel-20140609-obj
59+
27/45 Test #27: intel-20140609-obj ............... Passed 0.28 sec
60+
Start 28: intel-20140424-run
61+
28/45 Test #28: intel-20140424-run ............... Passed 0.00 sec
62+
Start 29: intel-20140420-obj
63+
29/45 Test #29: intel-20140420-obj ............... Passed 0.22 sec
64+
Start 30: intel-20140109-obj
65+
30/45 Test #30: intel-20140109-obj ............... Passed 0.25 sec
66+
Start 31: intel-20131030-run
67+
31/45 Test #31: intel-20131030-run ............... Passed 0.00 sec
68+
Start 32: intel-20130802-obj
69+
32/45 Test #32: intel-20130802-obj ............... Passed 0.20 sec
70+
Start 33: intel-20130802a-obj
71+
33/45 Test #33: intel-20130802a-obj .............. Passed 0.23 sec
72+
Start 34: intel-20130330a-obj
73+
34/45 Test #34: intel-20130330a-obj .............. Passed 0.24 sec
74+
Start 35: intel-20130330b-obj
75+
35/45 Test #35: intel-20130330b-obj .............. Passed 0.24 sec
76+
Start 36: intel-20121014-run
77+
36/45 Test #36: intel-20121014-run ............... Passed 0.00 sec
78+
Start 37: intel-20121013a-run
79+
37/45 Test #37: intel-20121013a-run .............. Passed 0.00 sec
80+
Start 38: intel-20121013-obj
81+
38/45 Test #38: intel-20121013-obj ............... Passed 0.17 sec
82+
Start 39: intel-20121008-run
83+
39/45 Test #39: intel-20121008-run ............... Passed 0.00 sec
84+
Start 40: intel-20121007a-obj
85+
40/45 Test #40: intel-20121007a-obj .............. Passed 0.23 sec
86+
Start 41: intel-20121007b-run
87+
41/45 Test #41: intel-20121007b-run .............. Passed 0.00 sec
88+
Start 42: intel-20121006-obj
89+
42/45 Test #42: intel-20121006-obj ............... Passed 0.21 sec
90+
Start 43: intel-20121006a-obj
91+
43/45 Test #43: intel-20121006a-obj .............. Passed 0.20 sec
92+
Start 44: intel-20121006b-obj
93+
44/45 Test #44: intel-20121006b-obj .............. Passed 0.29 sec
94+
Start 45: intel-20121001-run
95+
45/45 Test #45: intel-20121001-run ............... Passed 0.00 sec
8796

88-
83% tests passed, 7 tests failed out of 41
97+
78% tests passed, 10 tests failed out of 45
8998

9099
Label Time Summary:
91-
intel-bugs = 2.31 sec (41 tests)
100+
intel-bugs = 4.67 sec*proc (45 tests)
92101

93-
Total Test time (real) = 2.32 sec
102+
Total Test time (real) = 4.70 sec
94103

95104
The following tests FAILED:
96-
1 - intel-20190909-obj (Failed)
97-
4 - intel-20190901-obj (Failed)
98-
6 - intel-20180221-run (Failed)
99-
7 - intel-20180117-run (Failed)
100-
8 - intel-20180115-run (Failed)
101-
9 - intel-20171126-exe (Failed)
102-
10 - intel-20171126-run (Not Run)
105+
2 - intel-20191229-run (Failed)
106+
3 - intel-20191228-exe (Failed)
107+
4 - intel-20191228-run (Not Run)
108+
5 - intel-20190909-obj (Failed)
109+
8 - intel-20190901-obj (Failed)
110+
10 - intel-20180221-run (Failed)
111+
11 - intel-20180117-run (Failed)
112+
12 - intel-20180115-run (Failed)
113+
13 - intel-20171126-exe (Failed)
114+
14 - intel-20171126-run (Not Run)

intel-bugs/log-19.0.4.txt

Lines changed: 0 additions & 97 deletions
This file was deleted.

0 commit comments

Comments
 (0)