11 INTEGER,
PUBLIC,
PARAMETER ::
keylog = 1
13 INTEGER,
PUBLIC,
PARAMETER ::
key_i4 = 4
14 INTEGER,
PUBLIC,
PARAMETER ::
key_i8 = 8
15 INTEGER,
PUBLIC,
PARAMETER ::
key_r4 = 16
16 INTEGER,
PUBLIC,
PARAMETER ::
key_r8 = 32
38 SUBROUTINE check_args(LLABORT, LLACTIVE, LLPRINT, LLTRBK, &
39 & IABORT, IACTIVE, IPRINT, ITRBK, IPRTKEY, &
40 & LDABORT, LDACTIVE, LDPRINT, LDTRBK)
41 LOGICAL,
INTENT(INOUT) :: LLABORT, LLACTIVE, LLPRINT, LLTRBK
42 INTEGER(KIND=JPIM),
INTENT(OUT) :: IABORT, IACTIVE, IPRINT, ITRBK
43 INTEGER(KIND=JPIM),
INTENT(IN) :: IPRTKEY
44 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT, LDACTIVE, LDPRINT, LDTRBK
47 IF (
PRESENT(ldabort)) llabort = ldabort
48 IF (llabort) iabort = 1
52 IF (
PRESENT(ldactive)) llactive = ldactive
53 IF (llactive) iactive = 1
57 IF (
PRESENT(ldprint)) llprint = ldprint
58 IF (llprint) iprint = iprtkey
62 IF (
PRESENT(ldtrbk)) lltrbk = ldtrbk
67 & LDABORT, LDACTIVE, LDPRINT, LDTRBK)
68 INTEGER(KIND=JPIM),
PARAMETER :: JP_BYTES_PER_ELEM = 1
69 CHARACTER(LEN=*),
INTENT(IN) :: CDNAME
70 CHARACTER(LEN=*),
INTENT(IN) :: PTR
71 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT, LDACTIVE, LDPRINT, LDTRBK
72 LOGICAL :: LLABORT, LLACTIVE, LLPRINT, LLTRBK
73 INTEGER(KIND=JPIM) :: IBYTES, IABORT, IACTIVE, IPRINT, ITRBK
74 ibytes = len(ptr) * jp_bytes_per_elem
75 IF (ibytes <= 0)
RETURN 76 CALL check_args(llabort, llactive, llprint, lltrbk, &
77 & iabort, iactive, iprint, itrbk,
keychar, &
78 & ldabort, ldactive, ldprint, ldtrbk)
79 CALL c_drhook_watch(iactive, cdname, ptr(1:1), ibytes, iabort, iprint, len(ptr), itrbk)
83 & LDABORT, LDACTIVE, LDPRINT, LDTRBK)
84 INTEGER(KIND=JPIM),
PARAMETER :: JP_BYTES_PER_ELEM = 4
85 CHARACTER(LEN=*),
INTENT(IN) :: CDNAME
86 LOGICAL,
INTENT(IN) :: PTR
87 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT, LDACTIVE, LDPRINT, LDTRBK
88 LOGICAL :: LLABORT, LLACTIVE, LLPRINT, LLTRBK
89 INTEGER(KIND=JPIM) :: IBYTES, IABORT, IACTIVE, IPRINT, ITRBK
90 ibytes = jp_bytes_per_elem
91 CALL check_args(llabort, llactive, llprint, lltrbk, &
92 & iabort, iactive, iprint, itrbk,
keylog, &
93 & ldabort, ldactive, ldprint, ldtrbk)
94 CALL c_drhook_watch(iactive, cdname, ptr, ibytes, iabort, iprint, 1, itrbk)
98 & LDABORT, LDACTIVE, LDPRINT, LDTRBK)
99 INTEGER(KIND=JPIM),
PARAMETER :: JP_BYTES_PER_ELEM = 4
100 CHARACTER(LEN=*),
INTENT(IN) :: CDNAME
101 LOGICAL,
INTENT(IN) :: PTR(:)
102 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT, LDACTIVE, LDPRINT, LDTRBK
103 LOGICAL :: LLABORT, LLACTIVE, LLPRINT, LLTRBK
104 INTEGER(KIND=JPIM) :: IBYTES, IABORT, IACTIVE, IPRINT, ITRBK
105 ibytes =
SIZE(ptr) * jp_bytes_per_elem
106 IF (ibytes <= 0)
RETURN 107 CALL c_drhook_watch(iactive, cdname, ptr(1), ibytes, iabort, iprint,
SIZE(ptr), itrbk)
111 & LDABORT, LDACTIVE, LDPRINT, LDTRBK)
112 INTEGER(KIND=JPIM),
PARAMETER :: JP_BYTES_PER_ELEM = 4
113 CHARACTER(LEN=*),
INTENT(IN) :: CDNAME
114 INTEGER(KIND=JPIM),
INTENT(IN) :: PTR
115 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT, LDACTIVE, LDPRINT, LDTRBK
116 LOGICAL :: LLABORT, LLACTIVE, LLPRINT, LLTRBK
117 INTEGER(KIND=JPIM) :: IBYTES, IABORT, IACTIVE, IPRINT, ITRBK
118 ibytes = jp_bytes_per_elem
119 CALL check_args(llabort, llactive, llprint, lltrbk, &
120 & iabort, iactive, iprint, itrbk,
key_i4, &
121 & ldabort, ldactive, ldprint, ldtrbk)
122 CALL c_drhook_watch(iactive, cdname, ptr, ibytes, iabort, iprint, 1, itrbk)
126 & LDABORT, LDACTIVE, LDPRINT, LDTRBK)
127 INTEGER(KIND=JPIM),
PARAMETER :: JP_BYTES_PER_ELEM = 4
128 CHARACTER(LEN=*),
INTENT(IN) :: CDNAME
129 INTEGER(KIND=JPIM),
INTENT(IN) :: PTR(:)
130 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT, LDACTIVE, LDPRINT, LDTRBK
131 LOGICAL :: LLABORT, LLACTIVE, LLPRINT, LLTRBK
132 INTEGER(KIND=JPIM) :: IBYTES, IABORT, IACTIVE, IPRINT, ITRBK
133 ibytes =
SIZE(ptr) * jp_bytes_per_elem
134 IF (ibytes <= 0)
RETURN 135 CALL check_args(llabort, llactive, llprint, lltrbk, &
136 & iabort, iactive, iprint, itrbk,
key_i4, &
137 & ldabort, ldactive, ldprint, ldtrbk)
138 CALL c_drhook_watch(iactive, cdname, ptr(1), ibytes, iabort, iprint,
SIZE(ptr), itrbk)
142 & LDABORT, LDACTIVE, LDPRINT, LDTRBK)
143 INTEGER(KIND=JPIM),
PARAMETER :: JP_BYTES_PER_ELEM = 8
144 CHARACTER(LEN=*),
INTENT(IN) :: CDNAME
145 INTEGER(KIND=JPIB),
INTENT(IN) :: PTR
146 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT, LDACTIVE, LDPRINT, LDTRBK
147 LOGICAL :: LLABORT, LLACTIVE, LLPRINT, LLTRBK
148 INTEGER(KIND=JPIM) :: IBYTES, IABORT, IACTIVE, IPRINT, ITRBK
149 ibytes = jp_bytes_per_elem
150 CALL check_args(llabort, llactive, llprint, lltrbk, &
151 & iabort, iactive, iprint, itrbk,
key_i8, &
152 & ldabort, ldactive, ldprint, ldtrbk)
153 CALL c_drhook_watch(iactive, cdname, ptr, ibytes, iabort, iprint, 1, itrbk)
157 & LDABORT, LDACTIVE, LDPRINT, LDTRBK)
158 INTEGER(KIND=JPIM),
PARAMETER :: JP_BYTES_PER_ELEM = 8
159 CHARACTER(LEN=*),
INTENT(IN) :: CDNAME
160 INTEGER(KIND=JPIB),
INTENT(IN) :: PTR(:)
161 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT, LDACTIVE, LDPRINT, LDTRBK
162 LOGICAL :: LLABORT, LLACTIVE, LLPRINT, LLTRBK
163 INTEGER(KIND=JPIM) :: IBYTES, IABORT, IACTIVE, IPRINT, ITRBK
164 ibytes =
SIZE(ptr) * jp_bytes_per_elem
165 IF (ibytes <= 0)
RETURN 166 CALL check_args(llabort, llactive, llprint, lltrbk, &
167 & iabort, iactive, iprint, itrbk,
key_i8, &
168 & ldabort, ldactive, ldprint, ldtrbk)
169 CALL c_drhook_watch(iactive, cdname, ptr(1), ibytes, iabort, iprint,
SIZE(ptr), itrbk)
173 & LDABORT, LDACTIVE, LDPRINT, LDTRBK)
174 INTEGER(KIND=JPIM),
PARAMETER :: JP_BYTES_PER_ELEM = 4
175 CHARACTER(LEN=*),
INTENT(IN) :: CDNAME
176 REAL(KIND=JPRM),
INTENT(IN) :: PTR
177 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT, LDACTIVE, LDPRINT, LDTRBK
178 LOGICAL :: LLABORT, LLACTIVE, LLPRINT, LLTRBK
179 INTEGER(KIND=JPIM) :: IBYTES, IABORT, IACTIVE, IPRINT, ITRBK
180 ibytes = jp_bytes_per_elem
181 CALL check_args(llabort, llactive, llprint, lltrbk, &
182 & iabort, iactive, iprint, itrbk,
key_r4, &
183 & ldabort, ldactive, ldprint, ldtrbk)
184 CALL c_drhook_watch(iactive, cdname, ptr, ibytes, iabort, iprint, 1, itrbk)
188 & LDABORT, LDACTIVE, LDPRINT, LDTRBK)
189 INTEGER(KIND=JPIM),
PARAMETER :: JP_BYTES_PER_ELEM = 4
190 CHARACTER(LEN=*),
INTENT(IN) :: CDNAME
191 REAL(KIND=JPRM),
INTENT(IN) :: PTR(:)
192 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT, LDACTIVE, LDPRINT, LDTRBK
193 LOGICAL :: LLABORT, LLACTIVE, LLPRINT, LLTRBK
194 INTEGER(KIND=JPIM) :: IBYTES, IABORT, IACTIVE, IPRINT, ITRBK
195 ibytes =
SIZE(ptr) * jp_bytes_per_elem
196 IF (ibytes <= 0)
RETURN 197 CALL check_args(llabort, llactive, llprint, lltrbk, &
198 & iabort, iactive, iprint, itrbk,
key_r4, &
199 & ldabort, ldactive, ldprint, ldtrbk)
200 CALL c_drhook_watch(iactive, cdname, ptr(1), ibytes, iabort, iprint,
SIZE(ptr), itrbk)
204 & LDABORT, LDACTIVE, LDPRINT, LDTRBK)
205 INTEGER(KIND=JPIM),
PARAMETER :: JP_BYTES_PER_ELEM = 8
206 CHARACTER(LEN=*),
INTENT(IN) :: CDNAME
207 REAL(KIND=JPRD),
INTENT(IN) :: PTR
208 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT, LDACTIVE, LDPRINT, LDTRBK
209 LOGICAL :: LLABORT, LLACTIVE, LLPRINT, LLTRBK
210 INTEGER(KIND=JPIM) :: IBYTES, IABORT, IACTIVE, IPRINT, ITRBK
211 ibytes = jp_bytes_per_elem
212 CALL check_args(llabort, llactive, llprint, lltrbk, &
213 & iabort, iactive, iprint, itrbk,
key_r8, &
214 & ldabort, ldactive, ldprint, ldtrbk)
215 CALL c_drhook_watch(iactive, cdname, ptr, ibytes, iabort, iprint, 1, itrbk)
219 & LDABORT, LDACTIVE, LDPRINT, LDTRBK)
220 INTEGER(KIND=JPIM),
PARAMETER :: JP_BYTES_PER_ELEM = 8
221 CHARACTER(LEN=*),
INTENT(IN) :: CDNAME
222 REAL(KIND=JPRD),
INTENT(IN) :: PTR(:)
223 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT, LDACTIVE, LDPRINT, LDTRBK
224 LOGICAL :: LLABORT, LLACTIVE, LLPRINT, LLTRBK
225 INTEGER(KIND=JPIM) :: IBYTES, IABORT, IACTIVE, IPRINT, ITRBK
226 ibytes =
SIZE(ptr) * jp_bytes_per_elem
227 IF (ibytes <= 0)
RETURN 228 CALL check_args(llabort, llactive, llprint, lltrbk, &
229 & iabort, iactive, iprint, itrbk,
key_r8, &
230 & ldabort, ldactive, ldprint, ldtrbk)
231 CALL c_drhook_watch(iactive, cdname, ptr(1), ibytes, iabort, iprint,
SIZE(ptr), itrbk)
235 CHARACTER(LEN=*),
INTENT(IN) :: CDWHERE
236 LOGICAL,
INTENT(IN),
OPTIONAL :: LDABORT
238 INTEGER(KIND=JPIM) :: IABORT
241 IF (
PRESENT(ldabort)) llabort = ldabort
242 IF (llabort) iabort = 1
243 CALL c_drhook_check_watch(cdwhere, iabort)
subroutine, public dr_hook_check_watch(CDWHERE, LDABORT)
integer, parameter, public keynone
integer, parameter, public keychar
integer, parameter, public key_i4
integer, parameter, public key_r4
subroutine dr_hook_watch_character(CDNAME, PTR, LDABORT, LDACTIVE, LDPRINT, LDTRBK)
subroutine dr_hook_watch_logical_vec(CDNAME, PTR, LDABORT, LDACTIVE, LDPRINT, LDTRBK)
subroutine dr_hook_watch_i4_scalar(CDNAME, PTR, LDABORT, LDACTIVE, LDPRINT, LDTRBK)
subroutine dr_hook_watch_i8_vec(CDNAME, PTR, LDABORT, LDACTIVE, LDPRINT, LDTRBK)
subroutine dr_hook_watch_r4_vec(CDNAME, PTR, LDABORT, LDACTIVE, LDPRINT, LDTRBK)
subroutine dr_hook_watch_r8_scalar(CDNAME, PTR, LDABORT, LDACTIVE, LDPRINT, LDTRBK)
subroutine dr_hook_watch_logical_scalar(CDNAME, PTR, LDABORT, LDACTIVE, LDPRINT, LDTRBK)
subroutine dr_hook_watch_i8_scalar(CDNAME, PTR, LDABORT, LDACTIVE, LDPRINT, LDTRBK)
integer, parameter, public keylog
subroutine dr_hook_watch_r8_vec(CDNAME, PTR, LDABORT, LDACTIVE, LDPRINT, LDTRBK)
subroutine dr_hook_watch_r4_scalar(CDNAME, PTR, LDABORT, LDACTIVE, LDPRINT, LDTRBK)
subroutine dr_hook_watch_i4_vec(CDNAME, PTR, LDABORT, LDACTIVE, LDPRINT, LDTRBK)
subroutine check_args(LLABORT, LLACTIVE, LLPRINT, LLTRBK, IABORT, IACTIVE, IPRINT, ITRBK, IPRTKEY, LDABORT, LDACTIVE, LDPRINT, LDTRBK)
integer, parameter, public key_i8
integer, parameter, public key_r8