Create default debug feature collection
function default_debug_feature() result(collection) type(feature_collection_t) :: collection ! Initialize base feature with debug settings collection%base%name = 'debug' collection%base%platform%compiler = id_all collection%base%platform%os_type = OS_ALL collection%base%default = .true. ! Add debug variants for different compilers call collection%push_variant(default_variant('debug', id_caf, OS_ALL, & ' -Wall -Wextra -Wimplicit-interface -Wno-external-argument-mismatch& & -fPIC -fmax-errors=1 -g -fcheck=bounds& & -fcheck=array-temps -fbacktrace')) call collection%push_variant(default_variant('debug', id_gcc, OS_ALL, & ' -Wall -Wextra -Wimplicit-interface -Wno-external-argument-mismatch& & -fPIC -fmax-errors=1 -g -fcheck=bounds& & -fcheck=array-temps -fbacktrace -fcoarray=single')) call collection%push_variant(default_variant('debug', id_f95, OS_ALL, & ' -Wall -Wextra -Wimplicit-interface -Wno-external-argument-mismatch& & -fPIC -fmax-errors=1 -g -fcheck=bounds& & -fcheck=array-temps -Wno-maybe-uninitialized -Wno-uninitialized -fbacktrace')) call collection%push_variant(default_variant('debug', id_nvhpc, OS_ALL, & ' -Minform=inform -Mbackslash -g -Mbounds -Mchkptr -Mchkstk -traceback')) call collection%push_variant(default_variant('debug', id_intel_classic_nix, OS_ALL, & ' -warn all -check all -error-limit 1 -O0 -g -assume byterecl -traceback')) call collection%push_variant(default_variant('debug', id_intel_classic_nix, OS_WINDOWS, & ' /warn:all /check:all /error-limit:1& & /Od /Z7 /assume:byterecl /traceback')) call collection%push_variant(default_variant('debug', id_intel_llvm_nix, OS_ALL, & ' -warn all -check all -error-limit 1 -O0 -g -assume byterecl -traceback')) call collection%push_variant(default_variant('debug', id_intel_llvm_nix, OS_WINDOWS, & ' /warn:all /check:all /error-limit:1 /Od /Z7 /assume:byterecl')) call collection%push_variant(default_variant('debug', id_lfortran, OS_ALL, '')) end function default_debug_feature