1! { dg-do compile } 2! { dg-options "-O2 -ftree-vectorize" } 3 4 TYPE :: spot_weld_type 5 CHARACTER(8) PLACE ! Keyword "NODE" or "POSITION" 6 END TYPE 7 TYPE (spot_weld_type), DIMENSION(:), ALLOCATABLE :: SPOT_WELD 8 INTEGER, PARAMETER :: LSRT = 12 ! Length of sorted-element-distance array 9 INTEGER & 10 & IETYP(LSRT) ! -/- Sort array for closest el's, 0/1=tri/qu 11 REAL(KIND(0D0)) & 12 & DSQRD(LSRT) ! -/- Sort array for closest el's, d**2 13 LOGICAL & 14 & COINCIDENT, & 15 & INSIDE_ELEMENT 16 IF (SPOT_WELD(NSW)%PLACE .EQ. 'POSITION') THEN 17 DO n = 1,LSRT 18 ENDDO 19 DO i = 1,NUMP3 20 DO WHILE (Distance_Squared .GT. DSQRD(n) .AND. n .LE. LSRT) 21 ENDDO 22 IF (n .LT. LSRT) THEN 23 DO k = LSRT-1,n,-1 24 DSQRD(k+1) = DSQRD(k) 25 IETYP(k+1) = IETYP(k) 26 ENDDO 27 ENDIF 28 DO n = 1,LSRT 29 IF (IETYP(n) .EQ. 0) THEN 30 INSIDE_ELEMENT = & 31 & Xi1EL(n) .GE. 0.0 .AND. Xi2EL(n) .GE. 0.0 32 IF (DSQRD(n) .LT. Dmin) THEN 33 ENDIF 34 ENDIF 35 ENDDO 36 ENDDO 37 IF (Icount .GT. 0) THEN 38 DO i = 1,Icount 39 CALL USER_MESSAGE & 40 & ( & 41 & ) 42 ENDDO 43 CALL USER_MESSAGE & 44 & ( & 45 & ) 46 ENDIF 47 IF & 48 & ( & 49 & .NOT.COINCIDENT & 50 & ) & 51 & THEN 52 IF (NP1 .GT. 0) THEN 53 IF (NP1 .GT. 0) THEN 54 ENDIF 55 ENDIF 56 ENDIF 57 IF (.NOT.COINCIDENT) THEN 58 DO i = 1,3 59 IF (NP(i) .GT. 0) THEN 60 ENDIF 61 ENDDO 62 ENDIF 63 ENDIF 64 END 65