Skip to content

[SR-6055] When given the -output-file-map= option, the driver should check the map file exists (and other improvements) #48612

@modocache

Description

@modocache
mannequin
Previous ID SR-6055
Radar None
Original Reporter @modocache
Type Improvement
Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Improvement, Driver, StarterBug
Assignee None
Priority Medium

md5: f1f04b7b7601fefc78802b4bc77a7cb3

Issue Description:

This task tracks two TODOs left in swift/lib/Driver/Driver.cpp three years ago: "perform some preflight checks to ensure the [output map] file exists", and "emit [a] diagnostic with error string [explaining why the file could not be opened]".

Other parts of this Driver.cpp file use the llvm::sys::fs::exists() function in order to check a file exists before the driver proceeds with execution. The same should be done here, so that the user can be notified of a missing file before the driver attempts to open and read on the next line.

Further, assuming the file exists, but the driver is unable to open it on the next line for some reason, an error diagnostic with the reason why should be surfaced. swift/lib/Driver/OutputFileMap.cpp appears to use LLVM functions to open and read the file, and these functions return error objects/codes. Those errors should have a message associated with them, although I don't know the API to read that message off the top of my head.

Metadata

Metadata

Assignees

No one assigned

    Labels

    compilerThe Swift compiler itselfgood first issueGood for newcomersimprovementlegacy driverArea → compiler: the integrated C++ legacy driver. Succeeded by the swift-driver project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions