subroutine get_debug_compile_flags(id, flags)
integer(compiler_enum), intent(in) :: id
character(len=:), allocatable, intent(out) :: flags
select case(id)
case default
flags = ""
case(id_caf)
flags = &
flag_gnu_warn//&
flag_gnu_pic//&
flag_gnu_limit//&
flag_gnu_debug//&
flag_gnu_check//&
flag_gnu_backtrace
case(id_gcc)
flags = &
flag_gnu_warn//&
flag_gnu_pic//&
flag_gnu_limit//&
flag_gnu_debug//&
flag_gnu_check//&
flag_gnu_backtrace//&
flag_gnu_coarray
case(id_f95)
flags = &
flag_gnu_warn//&
flag_gnu_pic//&
flag_gnu_limit//&
flag_gnu_debug//&
flag_gnu_check//&
' -Wno-maybe-uninitialized -Wno-uninitialized'//&
flag_gnu_backtrace
case(id_nvhpc)
flags = &
flag_pgi_warn//&
flag_pgi_backslash//&
flag_pgi_check//&
flag_pgi_traceback
case(id_ibmxl)
flags = &
flag_ibmxl_backslash
case(id_intel_classic_nix)
flags = &
flag_intel_warn//&
flag_intel_check//&
flag_intel_limit//&
flag_intel_debug//&
flag_intel_byterecl//&
flag_intel_standard_compliance//&
flag_intel_backtrace
case(id_intel_classic_mac)
flags = &
flag_intel_warn//&
flag_intel_check//&
flag_intel_limit//&
flag_intel_debug//&
flag_intel_byterecl//&
flag_intel_standard_compliance//&
flag_intel_backtrace
case(id_intel_classic_windows)
flags = &
flag_intel_warn_win//&
flag_intel_check_win//&
flag_intel_limit_win//&
flag_intel_debug_win//&
flag_intel_byterecl_win//&
flag_intel_standard_compliance_win//&
flag_intel_backtrace_win
case(id_intel_llvm_nix)
flags = &
flag_intel_warn//&
flag_intel_check//&
flag_intel_limit//&
flag_intel_debug//&
flag_intel_byterecl//&
flag_intel_standard_compliance//&
flag_intel_backtrace
case(id_intel_llvm_windows)
flags = &
flag_intel_warn_win//&
flag_intel_check_win//&
flag_intel_limit_win//&
flag_intel_debug_win//&
flag_intel_byterecl_win//&
flag_intel_standard_compliance_win
case(id_nag)
flags = &
flag_nag_debug//&
flag_nag_check//&
flag_nag_backtrace//&
flag_nag_coarray//&
flag_nag_pic
case(id_lfortran)
flags = ""
end select
end subroutine get_debug_compile_flags