about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorJacob Pratt <jacob@jhpratt.dev>2024-11-18 02:24:35 -0500
committerGitHub <noreply@github.com>2024-11-18 02:24:35 -0500
commit21654a2f4478127f3751582c3f912246866d154d (patch)
treed1020fb7cc798cf16e6e25661707c0a59e72c8e5 /compiler/rustc_codegen_llvm/src
parentbf6adec108e83c5ddfcbb443a9177203db5eb945 (diff)
parent78edefea9d8e4820d7ce7c1d846f89e60fe3b81c (diff)
downloadrust-21654a2f4478127f3751582c3f912246866d154d.tar.gz
rust-21654a2f4478127f3751582c3f912246866d154d.zip
Rollup merge of #132934 - Zalathar:native-libs, r=jieyouxu
Overhaul the `-l` option parser (for linking to native libs)

The current parser for `-l` options has accumulated over time, making it hard to follow. This PR tries to clean it up in several ways.

Key changes:
- This code now gets its own submodule, to slightly reduce clutter in `rustc_session::config`.
- Cleaner division between iterating over multiple `-l` options, and processing each individual one.
- Separate “split” step that breaks up the value string into `[KIND[:MODIFIERS]=]NAME[:NEW_NAME]`, but leaves parsing/validating those parts to later steps.
  - This step also gets its own (disposable) unit test, to make sure it works as expected.
- A context struct reduces the burden of parameter passing, and makes it easier to write error messages that adapt to nightly/stable compilers.
- Fewer calls to `nightly_options` helper functions, because at this point we can get the same information from `UnstableOptions` and `UnstableFeatures` (which are downstream of earlier calls to those helper functions).

There should be no overall change in compiler behaviour.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions