Skip to content

Consider emitting warnings for incompatible codegen and other command line options #71552

Closed
@petrochenkov

Description

@petrochenkov

cc #71490 (comment)

For example

  • -C relocation-model=ropi doesn't make sense outside of some embedded ARM targets
  • -C target-feature=+crt-static is silently ignored on most targets
  • -C target-feature=+crt-static is incompatible with -C relocation-model=pic on most targets and +crt-static silently wins (at link time)

Right now rustc behaves more like gcc which silently accepts conflicting options and produces something unspecified, than like clang which tries to produce warnings.
For example, in gcc -shared -pie -pie silently wins, but in clang -shared -pie -shared wins with a warning.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-codegenArea: Code generationC-enhancementCategory: An issue proposing an enhancement or a PR with one.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions