summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/pr46190.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/pr46190.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/pr46190.f9064
1 files changed, 64 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/pr46190.f90 b/gcc/testsuite/gfortran.dg/pr46190.f90
new file mode 100644
index 000000000..15fad0416
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr46190.f90
@@ -0,0 +1,64 @@
+! { dg-do compile }
+! { dg-options "-O2 -ftree-vectorize" }
+
+ TYPE :: spot_weld_type
+ CHARACTER(8) PLACE ! Keyword "NODE" or "POSITION"
+ END TYPE
+ TYPE (spot_weld_type), DIMENSION(:), ALLOCATABLE :: SPOT_WELD
+ INTEGER, PARAMETER :: LSRT = 12 ! Length of sorted-element-distance array
+ INTEGER &
+ & IETYP(LSRT) ! -/- Sort array for closest el's, 0/1=tri/qu
+ REAL(KIND(0D0)) &
+ & DSQRD(LSRT) ! -/- Sort array for closest el's, d**2
+ LOGICAL &
+ & COINCIDENT, &
+ & INSIDE_ELEMENT
+ IF (SPOT_WELD(NSW)%PLACE .EQ. 'POSITION') THEN
+ DO n = 1,LSRT
+ ENDDO
+ DO i = 1,NUMP3
+ DO WHILE (Distance_Squared .GT. DSQRD(n) .AND. n .LE. LSRT)
+ ENDDO
+ IF (n .LT. LSRT) THEN
+ DO k = LSRT-1,n,-1
+ DSQRD(k+1) = DSQRD(k)
+ IETYP(k+1) = IETYP(k)
+ ENDDO
+ ENDIF
+ DO n = 1,LSRT
+ IF (IETYP(n) .EQ. 0) THEN
+ INSIDE_ELEMENT = &
+ & Xi1EL(n) .GE. 0.0 .AND. Xi2EL(n) .GE. 0.0
+ IF (DSQRD(n) .LT. Dmin) THEN
+ ENDIF
+ ENDIF
+ ENDDO
+ ENDDO
+ IF (Icount .GT. 0) THEN
+ DO i = 1,Icount
+ CALL USER_MESSAGE &
+ & ( &
+ & )
+ ENDDO
+ CALL USER_MESSAGE &
+ & ( &
+ & )
+ ENDIF
+ IF &
+ & ( &
+ & .NOT.COINCIDENT &
+ & ) &
+ & THEN
+ IF (NP1 .GT. 0) THEN
+ IF (NP1 .GT. 0) THEN
+ ENDIF
+ ENDIF
+ ENDIF
+ IF (.NOT.COINCIDENT) THEN
+ DO i = 1,3
+ IF (NP(i) .GT. 0) THEN
+ ENDIF
+ ENDDO
+ ENDIF
+ ENDIF
+ END