OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gfortran.dg/] [widechar_intrinsics_9.f90] - Blame information for rev 694

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 694 jeremybenn
! { dg-do run }
2
! { dg-options "-fbackslash" }
3
 
4
  implicit none
5
  character(kind=1,len=3) :: s1, t1
6
  character(kind=4,len=3) :: s4, t4
7
 
8
  s1 = "foo" ; t1 = "bar"
9
  call check_minmax_1 ("foo", "bar", min("foo","bar"), max("foo","bar"))
10
  call check_minmax_1 ("bar", "foo", min("foo","bar"), max("foo","bar"))
11
  call check_minmax_1 (s1, t1, min(s1,t1), max(s1,t1))
12
  call check_minmax_1 (t1, s1, min(s1,t1), max(s1,t1))
13
 
14
  s1 = "   " ; t1 = "bar"
15
  call check_minmax_1 ("   ", "bar", min("   ","bar"), max("   ","bar"))
16
  call check_minmax_1 ("bar", "   ", min("   ","bar"), max("   ","bar"))
17
  call check_minmax_1 (s1, t1, min(s1,t1), max(s1,t1))
18
  call check_minmax_1 (t1, s1, min(s1,t1), max(s1,t1))
19
 
20
  s1 = "   " ; t1 = "   "
21
  call check_minmax_1 ("   ", "   ", min("   ","   "), max("   ","   "))
22
  call check_minmax_1 ("   ", "   ", min("   ","   "), max("   ","   "))
23
  call check_minmax_1 (s1, t1, min(s1,t1), max(s1,t1))
24
  call check_minmax_1 (t1, s1, min(s1,t1), max(s1,t1))
25
 
26
  s1 = "d\xFF " ; t1 = "d  "
27
  call check_minmax_1 ("d\xFF ", "d  ", min("d\xFF ","d  "), max("d\xFF ","d  "))
28
  call check_minmax_1 ("d  ", "d\xFF ", min("d\xFF ","d  "), max("d\xFF ","d  "))
29
  call check_minmax_1 (s1, t1, min(s1,t1), max(s1,t1))
30
  call check_minmax_1 (t1, s1, min(s1,t1), max(s1,t1))
31
 
32
  s4 = 4_"   " ; t4 = 4_"xxx"
33
  call check_minmax_2 (4_"   ", 4_"xxx", min(4_"   ", 4_"xxx"), &
34
                       max(4_"   ", 4_"xxx"))
35
  call check_minmax_2 (4_"xxx", 4_"   ", min(4_"   ", 4_"xxx"), &
36
                       max(4_"   ", 4_"xxx"))
37
  call check_minmax_2 (s4, t4, min(s4,t4), max(s4,t4))
38
  call check_minmax_2 (t4, s4, min(s4,t4), max(s4,t4))
39
 
40
  s4 = 4_" \u1be3m" ; t4 = 4_"xxx"
41
  call check_minmax_2 (4_" \u1be3m", 4_"xxx", min(4_" \u1be3m", 4_"xxx"), &
42
                       max(4_" \u1be3m", 4_"xxx"))
43
  call check_minmax_2 (4_"xxx", 4_" \u1be3m", min(4_" \u1be3m", 4_"xxx"), &
44
                       max(4_" \u1be3m", 4_"xxx"))
45
  call check_minmax_2 (s4, t4, min(s4,t4), max(s4,t4))
46
  call check_minmax_2 (t4, s4, min(s4,t4), max(s4,t4))
47
 
48
contains
49
 
50
  subroutine check_minmax_1 (s1, s2, smin, smax)
51
    implicit none
52
    character(kind=1,len=*), intent(in) :: s1, s2, smin, smax
53
    character(kind=4,len=len(s1)) :: w1, w2, wmin, wmax
54
 
55
    w1 = s1 ; w2 = s2 ; wmin = smin ; wmax = smax
56
    if (min (w1, w2) /= wmin) call abort
57
    if (max (w1, w2) /= wmax) call abort
58
    if (min (s1, s2) /= smin) call abort
59
    if (max (s1, s2) /= smax) call abort
60
  end subroutine check_minmax_1
61
 
62
  subroutine check_minmax_2 (s1, s2, smin, smax)
63
    implicit none
64
    character(kind=4,len=*), intent(in) :: s1, s2, smin, smax
65
 
66
    if (min (s1, s2) /= smin) call abort
67
    if (max (s1, s2) /= smax) call abort
68
  end subroutine check_minmax_2
69
 
70
end

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.