aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend
diff options
context:
space:
mode:
authorCohenArthur <arthur.cohen@epita.fr>2021-09-06 12:07:50 +0200
committerCohenArthur <arthur.cohen@epita.fr>2021-09-06 12:07:50 +0200
commit37f3b02bf8edbf707e6156feec593b9b0d7da027 (patch)
treebb57652658a6676fa95283302d6aa374f4c5f176 /gcc/rust/backend
parent04ea1955ee6a70390a171328c537ed121eb05078 (diff)
downloadgcc-37f3b02bf8edbf707e6156feec593b9b0d7da027.zip
gcc-37f3b02bf8edbf707e6156feec593b9b0d7da027.tar.gz
gcc-37f3b02bf8edbf707e6156feec593b9b0d7da027.tar.bz2
mangling: Use Enum(frust_mangling) for option instead of string
Co-authored-by: Marc Poulhies <dkm@kataplop.net>
Diffstat (limited to 'gcc/rust/backend')
-rw-r--r--gcc/rust/backend/rust-mangle.h15
1 files changed, 5 insertions, 10 deletions
diff --git a/gcc/rust/backend/rust-mangle.h b/gcc/rust/backend/rust-mangle.h
index 1087446..9e77c54 100644
--- a/gcc/rust/backend/rust-mangle.h
+++ b/gcc/rust/backend/rust-mangle.h
@@ -26,8 +26,9 @@ class Mangler
public:
enum MangleVersion
{
+ // Values defined in rust/lang.opt
LEGACY = 0,
- V0,
+ V0 = 1,
};
// this needs to support Legacy and V0 see github #429 or #305
@@ -40,18 +41,12 @@ public:
const std::string &name,
const std::string &crate_name) const;
- static bool choose_mangling (std::string arg)
+ static void set_mangling (int frust_mangling_value)
{
- if (arg == "legacy")
- version = MangleVersion::LEGACY;
- else if (arg == "v0")
- version = MangleVersion::V0;
- else
- return false;
-
- return true;
+ version = static_cast<MangleVersion> (frust_mangling_value);
}
+private:
static enum MangleVersion version;
};
} // namespace Compile