Page 1 Source Listing QSORT95 2024-02-07 07:43 FOR\QSORT95.F90 1 PROGRAM QSORT95 2 USE IFPORT 3 INTEGER(2), external :: cmp_function 4 INTEGER(2) insort(26), i 5 INTEGER (SIZEOF_SIZE_T) array_len, array_size 6 7 array_len = 26 8 array_size = 2 9 DO i=90,65,-1 10 insort(i-64)=91 - i 11 END DO 12 13 PRINT *, "Before: " 14 PRINT *,insort 15 CALL qsort(insort,array_len,array_size,cmp_function) 16 PRINT *, 'After: ' 17 PRINT *, insort 18 END PROGRAM QSORT95 ENTRY POINTS Address Type Name MAIN__ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References ARRAY_LEN Local 5 I(8) 8 scalar 7,15 ARRAY_SIZE Local 5 I(8) 8 scalar 8,15 CMP_FUNCTION Func 3 I(2) 2 scalar 15 I Local 4 I(2) 2 scalar 9,10 IFPORT Module 2 2 INSORT Local 4 I(2) 2 1 26 10,14,15,17 QSORT Local 15 scalar 15 QSORT95 Prog 1 QSORT_I2 Subr 15 15 SIZEOF_SIZE_T Param 5 I(4) 4 scalar 5 Page 2 Source Listing CMP_FUNCTION 2024-02-07 07:43 FOR\QSORT95.F90 19 INTEGER(2) FUNCTION cmp_function(a1, a2) 20 INTEGER(2) a1, a2 21 cmp_function=a1-a2 22 END FUNCTION ENTRY POINTS Address Type Name CMP_FUNCTION SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References A1 Dummy 20 I(2) 2 scalar ARG,INOUT 21 A2 Dummy 20 I(2) 2 scalar ARG,INOUT 21 CMP_FUNCTION Local 19 I(2) 2 scalar CMP_FUNCTION Func 19 I(2) 2 scalar 21 Page 3 Source Listing CMP_FUNCTION 2024-02-07 07:43 Subprograms/Common Blocks FOR\QSORT95.F90 SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CMP_FUNCTION Func 19 I(2) 2 scalar 21 QSORT95 Prog 1 COMPILER: Intel(R) Fortran 24.0-1238 QSORT95.EXEyintel Fortran CompilerzŽÀsŒ‹‰Ê Before: 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 After: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26