Skip to content

Enrichment/interprocedural information from interfaces instead of full source parse #475

@ecossevin

Description

@ecossevin

Is your feature request related to a problem? Please describe.

Source_callee = Sourcefile.from_file('callee.F90') source_caller = Sourcefile.from_file('caller.F90', definitions=source_callee.definitions)

When there is a call to a subroutine in a piece of code where i'm doing dataflowanalysis : I would like to be able to use an interface as a definition here. In order to avoid to parse and generate the ir of the whole routine when I just need the arguments intent.

I would be pleased to help you adding this feature to loki.

Describe the solution you'd like

I don't know if reading the interface can allow to know .defines_symbols and .uses_symbols, or if reading the interface can only show which variable are read only and read write.

Describe alternatives you've considered

I wrote some code to read the interface and update which variables where read only and which one where read write.

Additional context

SUBROUTINE CALLER() REAL :: A, B, C, D, E pragma region1 A = B + 1 C = A CALL CALLEE(D, E) end pragma region 1 END SUBROUTINE CALLER
In this example, I would like to know which variables are read only and which one are read write, without reading the whole calle.F90 file. But just callee.intfb.F90 (the interface).

Organisation

météo france

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions