mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-12-27 10:33:59 -05:00
Demangled Rust identifiers under the `legacy` name mangling scheme rely on a hash to disambiguate items with the same name, such as different monomorphisations of the same function or different closures’ `call_once` methods. In the `v0` mangling scheme, this is no longer a problem. However, configuring the demangler to show hashes in `legacy` names will include crate-id hashes in `v0` names, which are [mostly unneeded](https://rust-lang.github.io/rfcs/2603-rust-symbol-name-mangling-v0.html#appendix-a---suggested-demangling). This PR introduces a new checkbox *Options...* → *Verbose demangling* that lets the user select if they want to include disambiguating hashes in demangled identifiers. This checkbox is only shown for compilers that support verbose demangling, and deactivated when the *Demangle identifiers* checkbox is unchecked. Resolves #1754. Resolves #6255.
19 lines
487 B
Properties
19 lines
487 B
Properties
compilers=rustc
|
|
supportsBinary=true
|
|
compilerType=rust
|
|
demangler=c++filt
|
|
demanglerArgs=--format=rust
|
|
objdumper=objdump
|
|
stubRe=\bmain\b
|
|
stubText=pub fn main() {/*stub provided by Compiler Explorer*/}
|
|
binaryHideFuncRe=^(_.*|call_gmon_start|(de)?register_tm_clones|frame_dummy|.*@plt.*)$
|
|
|
|
# short form of `--version --verbose`
|
|
versionFlag=-vV
|
|
|
|
|
|
#################################
|
|
#################################
|
|
# Installed libs (See c++.amazon.properties for a scheme of libs group)
|
|
libs=
|