1 ! UNSUPPORTED: system-windows
2 ! REQUIRES: plugins, shell, examples
4 ! RUN: %flang_fc1 -load %llvmshlibdir/flangFeatureList%pluginext \
5 ! RUN: -plugin feature-list %s 2>&1 | FileCheck %s
7 program list_features_test
9 call test_sub(test_func(2, 3), 4)
11 subroutine test_sub(a
, b
)
12 integer, intent(in
) :: a
, b
16 integer function test_func(a
, b
)
17 integer, intent(in
) :: a
, b
20 end program list_features_test
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
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