31 SUBROUTINE cp_abort_interface(location, message)
32 CHARACTER(len=*),
INTENT(in) :: location, message
34 END SUBROUTINE cp_abort_interface
36 SUBROUTINE cp_warn_interface(location, message)
37 CHARACTER(len=*),
INTENT(in) :: location, message
39 END SUBROUTINE cp_warn_interface
41 SUBROUTINE cp_hint_interface(location, message)
42 CHARACTER(len=*),
INTENT(in) :: location, message
44 END SUBROUTINE cp_hint_interface
46 SUBROUTINE timeset_interface(routineN, handle)
47 CHARACTER(LEN=*),
INTENT(IN) :: routineN
48 INTEGER,
INTENT(OUT) :: handle
50 END SUBROUTINE timeset_interface
52 SUBROUTINE timestop_interface(handle)
53 INTEGER,
INTENT(IN) :: handle
55 END SUBROUTINE timestop_interface
73 CHARACTER(len=*),
INTENT(in) :: location, message
83 stop
"Never return from here"
93 CHARACTER(len=*),
INTENT(in) :: location, message
110 CHARACTER(len=*),
INTENT(in) :: location, message
127 CHARACTER(LEN=*),
INTENT(IN) :: routinen
128 INTEGER,
INTENT(OUT) :: handle
143 INTEGER,
INTENT(IN) :: handle
149 CALL cp_abort(
cp__l(
"base_hooks.F", __line__),
"Got wrong handle")
160 CHARACTER(len=*),
INTENT(in) :: filename
161 INTEGER,
INTENT(in) :: linenr
163 CALL cp_abort(location=
cp__l(filename, linenr), message=
"CPASSERT failed")
165 stop
"Never return from here"
175 SUBROUTINE cp__b(filename, lineNr, message)
176 CHARACTER(len=*),
INTENT(in) :: filename
177 INTEGER,
INTENT(in) :: linenr
178 CHARACTER(len=*),
INTENT(in) :: message
180 CALL cp_abort(location=
cp__l(filename, linenr), message=message)
182 stop
"Never return from here"
192 SUBROUTINE cp__w(filename, lineNr, message)
193 CHARACTER(len=*),
INTENT(in) :: filename
194 INTEGER,
INTENT(in) :: linenr
195 CHARACTER(len=*),
INTENT(in) :: message
197 CALL cp_warn(location=
cp__l(filename, linenr), message=message)
207 SUBROUTINE cp__h(filename, lineNr, message)
208 CHARACTER(len=*),
INTENT(in) :: filename
209 INTEGER,
INTENT(in) :: linenr
210 CHARACTER(len=*),
INTENT(in) :: message
212 CALL cp_hint(location=
cp__l(filename, linenr), message=message)
222 FUNCTION cp__l(filename, lineNr)
RESULT(location)
223 CHARACTER(len=*),
INTENT(in) :: filename
224 INTEGER,
INTENT(in) :: linenr
225 CHARACTER(len=default_string_length) :: location
227 CHARACTER(len=15) :: linenr_str
229 WRITE (linenr_str, fmt=
'(I10)') linenr
230 location = trim(filename)//
":"//trim(adjustl(linenr_str))
Central dispatch for basic hooks.
subroutine, public cp__a(filename, lineNr)
CPASSERT handler.
procedure(cp_warn_interface), pointer, public cp_warn_hook
subroutine, public cp_abort(location, message)
Terminate the program.
subroutine, public timeset(routineN, handle)
Start timer.
subroutine, public cp__w(filename, lineNr, message)
CPWARN handler.
subroutine, public cp__b(filename, lineNr, message)
CPABORT handler.
subroutine, public cp_hint(location, message)
Issue a hint.
procedure(cp_abort_interface), pointer, public cp_abort_hook
subroutine, public cp__h(filename, lineNr, message)
CPHINT handler.
procedure(cp_hint_interface), pointer, public cp_hint_hook
procedure(timeset_interface), pointer, public timeset_hook
character(len=default_string_length) function, public cp__l(filename, lineNr)
Helper routine to assemble LOCATION
subroutine, public timestop(handle)
Stop timer.
subroutine, public cp_warn(location, message)
Issue a warning.
procedure(timestop_interface), pointer, public timestop_hook
Defines the basic variable types.
integer, parameter, public default_string_length
Machine interface based on Fortran 2003 and POSIX.
integer, parameter, public default_output_unit
subroutine, public m_flush(lunit)
flushes units if the &GLOBAL flag is set accordingly
subroutine, public m_abort()
Can be used to get a nice core.