Skip to content

DylanKierans/Parameterized-derived-types-debugging

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parameterized Derived Types

Description

This repo is a minimal example to show nvfortran compiler issue with when dealing with Parameterized Derived Types (pdt) when using abstract types. A minimal working example reduced from ICON codebase.

The program contains:

  • Type (t_pdt) - parameterized derived type with a kind parameter
  • Type (t_base) - Abstract type with deferred function func, which takes parameter t_pdt with kind=real64
  • Type (t_ext) - Non-abstract, concretized type extension of t_base which defines func

Two files are given:

  • f1.90: Intended code structure
    • t_pdt defined in mo_pdt
    • t_base defined in mo_base
    • t_ext defined in mo_ext
  • f2.90: Incompatible code structure, used purely for debugging
    • t_pdt defined in mo_pdt_base_ext
    • t_base defined in mo_pdt_base_ext
    • t_ext defined in mo_pdt_base_ext

Testing

Testing on Levante with compilers:

Usage:

  • make SRC=f1.f90
  • make SRC=f2.f90

Output

Compilation (y/n):

[email protected] [email protected] [email protected] [email protected] [email protected]
f1.90 n n y* y y
f2.90 y y n y y

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published