Skip to content

Rethink source locations in the IFC to accommodate implementations which need richer source-level information #143

Open
@cdacamar

Description

@cdacamar

It was expressed by @ChuanqiXu9 in the last module implementors meeting that both Clang and GCC have a richer representation of source locations than was initially required from MSVC (the early adopter of the IFC). One example cited was declarations:

    int i = 0;
//  ^        ^
//  |          | Decl end
//  | Decl begin

The other vendors have a span of source locations for declarations in which represent the declaration node as written in source. In Clang it is represented as DeclStmt <line:2:5, col:14> where the span is assumed to start at column '5' and end at column '14'.

In the IFC, today we only have a single source location for nearly every node but this representation appears to be insufficient for the needs of other compiler implementations. We should rethink this or provide a richer source location structure which could allow for ranges of locations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions