1! UNSUPPORTED: system-windows 2! REQUIRES: plugins, shell, examples 3 4! RUN: %flang_fc1 -load %llvmshlibdir/flangFeatureList%pluginext \ 5! RUN: -plugin feature-list %s 2>&1 | FileCheck %s 6 7program list_features_test 8 implicit none 9 call test_sub(test_func(2, 3), 4) 10contains 11 subroutine test_sub(a, b) 12 integer, intent(in) :: a, b 13 print "(I0)", a + b 14 end subroutine 15 16 integer function test_func(a, b) 17 integer, intent(in) :: a, b 18 test_func = a * b 19 end function 20end program list_features_test 21 22! CHECK: Name: 19 23! CHECK-NEXT: Expr: 11 24! CHECK-NEXT: DataRef: 5 25! CHECK-NEXT: Designator: 5 26! CHECK-NEXT: ActualArg: 4 27! CHECK-NEXT: ActualArgSpec: 4 28! CHECK-NEXT: EntityDecl: 4 29! CHECK-NEXT: LiteralConstant: 4 30! CHECK-NEXT: ActionStmt: 3 31! CHECK-NEXT: Block: 3 32! CHECK-NEXT: DeclarationTypeSpec: 3 33! CHECK-NEXT: ExecutableConstruct: 3 34! CHECK-NEXT: ExecutionPart: 3 35! CHECK-NEXT: ExecutionPartConstruct: 3 36! CHECK-NEXT: ImplicitPart: 3 37! CHECK-NEXT: IntLiteralConstant: 3 38! CHECK-NEXT: IntegerTypeSpec: 3 39! CHECK-NEXT: IntrinsicTypeSpec: 3 40! CHECK-NEXT: SpecificationPart: 3 41! CHECK-NEXT: AttrSpec: 2 42! CHECK-NEXT: Call: 2 43! CHECK-NEXT: DeclarationConstruct: 2 44! CHECK-NEXT: DummyArg: 2 45! CHECK-NEXT: IntentSpec: 2 46! CHECK-NEXT: IntentSpec::Intent: 2 47! CHECK-NEXT: InternalSubprogram: 2 48! CHECK-NEXT: ProcedureDesignator: 2 49! CHECK-NEXT: SpecificationConstruct: 2 50! CHECK-NEXT: TypeDeclarationStmt: 2 51! CHECK-NEXT: AssignmentStmt: 1 52! CHECK-NEXT: CallStmt: 1 53! CHECK-NEXT: CharLiteralConstant: 1 54! CHECK-NEXT: ContainsStmt: 1 55! CHECK-NEXT: EndFunctionStmt: 1 56! CHECK-NEXT: EndProgramStmt: 1 57! CHECK-NEXT: EndSubroutineStmt: 1 58! CHECK-NEXT: Expr::Add: 1 59! CHECK-NEXT: Expr::Multiply: 1 60! CHECK-NEXT: Format: 1 61! CHECK-NEXT: FunctionReference: 1 62! CHECK-NEXT: FunctionStmt: 1 63! CHECK-NEXT: FunctionSubprogram: 1 64! CHECK-NEXT: ImplicitPartStmt: 1 65! CHECK-NEXT: ImplicitStmt: 1 66! CHECK-NEXT: InternalSubprogramPart: 1 67! CHECK-NEXT: MainProgram: 1 68! CHECK-NEXT: OutputItem: 1 69! CHECK-NEXT: PrefixSpec: 1 70! CHECK-NEXT: PrintStmt: 1 71! CHECK-NEXT: Program: 1 72! CHECK-NEXT: ProgramStmt: 1 73! CHECK-NEXT: ProgramUnit: 1 74! CHECK-NEXT: SubroutineStmt: 1 75! CHECK-NEXT: SubroutineSubprogram: 1 76! CHECK-NEXT: Variable: 1 77