| ! RUN: %flang_fc1 -fdebug-unparse-no-sema -fopenmp %s | FileCheck --ignore-case %s |
| ! RUN: %flang_fc1 -fdebug-dump-parse-tree-no-sema -fopenmp %s | FileCheck --check-prefix="PARSE-TREE" %s |
| program main |
| !CHECK-LABEL: program main |
| implicit none |
| |
| type ty |
| integer :: x |
| end type ty |
| |
| |
| !CHECK: !$OMP DECLARE MAPPER (mymapper:ty::mapped) MAP(mapped,mapped%x) |
| !$omp declare mapper(mymapper : ty :: mapped) map(mapped, mapped%x) |
| |
| !PARSE-TREE: OpenMPDeclareMapperConstruct |
| !PARSE-TREE: OmpMapperSpecifier |
| !PARSE-TREE: Name = 'mymapper' |
| !PARSE-TREE: TypeSpec -> DerivedTypeSpec |
| !PARSE-TREE: Name = 'ty' |
| !PARSE-TREE: Name = 'mapped' |
| !PARSE-TREE: OmpMapClause |
| !PARSE-TREE: OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'mapped' |
| !PARSE-TREE: OmpObject -> Designator -> DataRef -> StructureComponent |
| !PARSE-TREE: DataRef -> Name = 'mapped' |
| !PARSE-TREE: Name = 'x' |
| |
| !CHECK: !$OMP DECLARE MAPPER (ty::mapped) MAP(mapped,mapped%x) |
| !$omp declare mapper(ty :: mapped) map(mapped, mapped%x) |
| |
| !PARSE-TREE: OpenMPDeclareMapperConstruct |
| !PARSE-TREE: OmpMapperSpecifier |
| !PARSE-TREE: TypeSpec -> DerivedTypeSpec |
| !PARSE-TREE: Name = 'ty' |
| !PARSE-TREE: Name = 'mapped' |
| !PARSE-TREE: OmpMapClause |
| !PARSE-TREE: OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'mapped' |
| !PARSE-TREE: OmpObject -> Designator -> DataRef -> StructureComponent |
| !PARSE-TREE: DataRef -> Name = 'mapped' |
| !PARSE-TREE: Name = 'x' |
| |
| end program main |
| !CHECK-LABEL: end program main |