44 lines · plain
1! RUN: %flang_fc1 -fdebug-unparse-no-sema -fopenmp %s | FileCheck --ignore-case %s2! RUN: %flang_fc1 -fdebug-dump-parse-tree-no-sema -fopenmp %s | FileCheck --check-prefix="PARSE-TREE" %s3program main4!CHECK-LABEL: program main5 implicit none6 7 type ty8 integer :: x9 end type ty10 11 12!CHECK: !$OMP DECLARE MAPPER(mymapper:ty::mapped) MAP(mapped,mapped%x)13 !$omp declare mapper(mymapper : ty :: mapped) map(mapped, mapped%x)14 15!PARSE-TREE: OpenMPDeclareMapperConstruct16!PARSE-TREE: OmpMapperSpecifier17!PARSE-TREE: string = 'mymapper'18!PARSE-TREE: TypeSpec -> DerivedTypeSpec19!PARSE-TREE: Name = 'ty'20!PARSE-TREE: Name = 'mapped'21!PARSE-TREE: OmpMapClause22!PARSE-TREE: OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'mapped'23!PARSE-TREE: OmpObject -> Designator -> DataRef -> StructureComponent24!PARSE-TREE: DataRef -> Name = 'mapped'25!PARSE-TREE: Name = 'x'26 27!CHECK: !$OMP DECLARE MAPPER(ty::mapped) MAP(mapped,mapped%x)28 !$omp declare mapper(ty :: mapped) map(mapped, mapped%x)29 30!PARSE-TREE: OpenMPDeclareMapperConstruct31!PARSE-TREE: OmpMapperSpecifier32!PARSE-TREE: string = 'ty_omp_default_mapper'33!PARSE-TREE: TypeSpec -> DerivedTypeSpec34!PARSE-TREE: Name = 'ty'35!PARSE-TREE: Name = 'mapped'36!PARSE-TREE: OmpMapClause37!PARSE-TREE: OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'mapped'38!PARSE-TREE: OmpObject -> Designator -> DataRef -> StructureComponent39!PARSE-TREE: DataRef -> Name = 'mapped'40!PARSE-TREE: Name = 'x'41 42end program main43!CHECK-LABEL: end program main44