15#if defined(__OFFLOAD_CUDA) || defined(__OFFLOAD_HIP)
21 "OpenMP is required. Please add the corresponding flag (eg. -fopenmp for GFortran) to your Fortran compiler flags."
25#if !defined(__SHORT_FILE__)
26#define __SHORT_FILE__ __FILE__
29#define __LOCATION__ cp__l(__SHORT_FILE__,__LINE__)
30#define CPABORT(MSG) CALL cp__b(__SHORT_FILE__,__LINE__,MSG)
34#define CPWARN(MSG) CALL cp__w(__SHORT_FILE__,__LINE__,MSG)
37#define CPWARN_IF(COND, MSG) IF(COND)CPWARN(MSG)
40#define CPHINT(MSG) CALL cp__h(__SHORT_FILE__,__LINE__,MSG)
42# define CPASSERT(COND) IF(.NOT.(COND))CALL cp__a(__SHORT_FILE__,__LINE__)
49#define MARK_USED(FOO) IF(.FALSE.)THEN;DO;IF(SIZE(SHAPE(FOO))==-1) EXIT;ENDDO;ENDIF
54#define CPVERSION2(MAJOR, MINOR) ((MAJOR) * 10000 + (MINOR) * 100)
55#define CPVERSION3(MAJOR, MINOR, UPDATE) (CPVERSION2(MAJOR, MINOR) + (UPDATE))
56#define CPVERSION CPVERSION2
63#define CPVERSION_CHECK(MAJOR_BASE, MINOR_BASE, COMP, MAJOR_TEST, MINOR_TEST) ((MAJOR_TEST) && \
64 (cpversion2(major_base, minor_base) comp cpversion2(major_test, minor_test)))
67#if CPVERSION_CHECK(9, 5, >, __GNUC__, __GNUC_MINOR__) || defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER)
68#define FTN_NO_DEFAULT_INIT
74#if CPVERSION_CHECK(8, 3, >, __GNUC__, __GNUC_MINOR__)
75#define OMP_DEFAULT_NONE_WITH_OOP SHARED
77#define OMP_DEFAULT_NONE_WITH_OOP NONE
Central dispatch for basic hooks.
subroutine, public cp_abort(location, message)
Terminate the program.
subroutine, public cp__w(filename, linenr, message)
CPWARN handler.
subroutine, public timeset(routinen, handle)
Start timer.
subroutine, public cp__a(filename, linenr)
CPASSERT handler.
character(len=default_string_length) function, public cp__l(filename, linenr)
Helper routine to assemble LOCATION
subroutine, public cp_hint(location, message)
Issue a hint.
subroutine, public timestop(handle)
Stop timer.
subroutine, public cp__h(filename, linenr, message)
CPHINT handler.
subroutine, public cp_warn(location, message)
Issue a warning.
subroutine, public cp__b(filename, linenr, message)
CPABORT handler.