From 2bd1ffcd4a2d604b701e6463191782c3836a8bf0 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Sat, 27 Oct 2007 00:57:26 +0000 Subject: [PATCH] re PR fortran/33162 (INTRINSIC functions as ACTUAL argument) 2007-10-26 Jerry DeLisle PR fortran/33162 * gfortran.dg/argument_checking_9.f90: New test. From-SVN: r129674 --- gcc/testsuite/ChangeLog | 5 ++ .../gfortran.dg/argument_checking_9.f90 | 52 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/argument_checking_9.f90 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4ec601f9113..6e21d3f7412 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-10-26 Jerry DeLisle + + PR fortran/33162 + * gfortran.dg/argument_checking_9.f90: New test. + 2007-10-26 Douglas Gregor * g++.dg/other/pr33601.C: New. diff --git a/gcc/testsuite/gfortran.dg/argument_checking_9.f90 b/gcc/testsuite/gfortran.dg/argument_checking_9.f90 new file mode 100644 index 00000000000..fd7dde33d92 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/argument_checking_9.f90 @@ -0,0 +1,52 @@ +! { dg-do compile } +! { dg-options "-fmax-errors=40" } +! PR33162 INTRINSIC functions as ACTUAL argument +! Prepared by Jerry DeLisle +program double_specs + +real(kind=4) :: rr, x, y +real(kind=8) :: dr, dx, dy + +x = .5 +y = .7 +dx = .5d0 +dy = .5d0 + +r = dabs(x) ! { dg-error "must be double precision" } +r = dacos(x) ! { dg-error "must be double precision" } +r = dacosh(x) ! { dg-error "must be double precision" } +r = dasin(x) ! { dg-error "must be double precision" } +r = dasinh(x) ! { dg-error "must be double precision" } +r = datan(x) ! { dg-error "must be double precision" } +r = datanh(x) ! { dg-error "must be double precision" } +r = datan2(y, dx) ! { dg-error "must be double precision" } +r = datan2(dy, x) ! { dg-error "must be double precision" } +r = dbesj0(x) ! { dg-error "must be double precision" } +r = dbesj1(x) ! { dg-error "must be double precision" } +r = dbesy0(x) ! { dg-error "must be double precision" } +r = dbesy1(x) ! { dg-error "must be double precision" } +r = dcos(x) ! { dg-error "must be double precision" } +r = dcosh(x) ! { dg-error "must be double precision" } +r = ddim(x, dy) ! { dg-error "must be double precision" } +r = ddim(dx, y) ! { dg-error "must be double precision" } +r = derf(x) ! { dg-error "must be double precision" } +r = derfc(x) ! { dg-error "must be double precision" } +r = dexp(x) ! { dg-error "must be double precision" } +r = dgamma(x) ! { dg-error "must be double precision" } +r = dlgama(x) ! { dg-error "must be double precision" } +r = dlog(x) ! { dg-error "must be double precision" } +r = dlog10(x) ! { dg-error "must be double precision" } +r = dmod(x, dy) ! { dg-error "must be double precision" } +r = dmod(dx, y) ! { dg-error "must be double precision" } +r = dsign(x, dy) ! { dg-error "must be double precision" } +r = dsign(dx, y) ! { dg-error "must be double precision" } +r = dsin(x) ! { dg-error "must be double precision" } +r = dsinh(x) ! { dg-error "must be double precision" } +r = dsqrt(x) ! { dg-error "must be double precision" } +r = dtan(x) ! { dg-error "must be double precision" } +r = dtanh(x) ! { dg-error "must be double precision" } +dr = dprod(dx,y) ! { dg-error "must be default real" } +dr = dprod(x,dy) ! { dg-error "must be default real" } +dr = dprod(x,y) + +end program double_specs \ No newline at end of file -- 2.30.2