Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/unused_artificial_dummies_1.f90 @ 128:fe568345ddd5
fix CbC-example
author | mir3636 |
---|---|
date | Wed, 11 Apr 2018 19:32:28 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
! { dg-do compile } ! { dg-options "-Wunused-variable -Wunused-parameter" } ! This tests the fix for PR18111 in which some artificial declarations ! were being listed as unused parameters: ! (i) Array dummies, where a copy is made; ! (ii) The dummies of "entry thunks" (ie. the articial procedures that ! represent ENTRYs and call the "entry_master" function; and ! (iii) The __entry parameter of the entry_master function, which ! indentifies the calling entry thunk. ! All of these have DECL_ARTIFICIAL (tree) set. ! ! Contributed by Paul Thomas <pault@gcc.gnu.org> ! module foo implicit none contains !This is the original problem subroutine bar(arg1, arg2, arg3, arg4, arg5) character(len=80), intent(in) :: arg1 character(len=80), dimension(:), intent(in) :: arg2 integer, dimension(arg4), intent(in) :: arg3 integer, intent(in) :: arg4 character(len=arg4), intent(in) :: arg5 print *, arg1, arg2, arg3, arg4, arg5 end subroutine bar ! This ICED with the first version of the fix because gfc_build_dummy_array_decl ! sometimes NULLS sym->backend_decl; taken from aliasing_dummy_1.f90 subroutine foo1 (slist, i) character(*), dimension(*) :: slist integer i write (slist(i), '(2hi=,i3)') i end subroutine foo1 ! This tests the additions to the fix that prevent the dummies of entry thunks ! and entry_master __entry parameters from being listed as unused. function f1 (a) integer, dimension (2, 2) :: a, b, f1, e1 f1 (:, :) = 15 + a return entry e1 (b) e1 (:, :) = 42 + b end function end module foo