aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-10-24 16:16:34 +0200
committerCohenArthur <arthur.cohen@embecosm.com>2023-11-06 17:13:22 +0000
commitd8286cfb1ff34e70f0bb2209b62c5dce7cf4d6a3 (patch)
tree8f21f982b30abc029f4584196b94891829c5ada8 /gcc/rust
parentb70b3d6110bd08a374841f05e1fc9068598e8eb7 (diff)
downloadgcc-d8286cfb1ff34e70f0bb2209b62c5dce7cf4d6a3.zip
gcc-d8286cfb1ff34e70f0bb2209b62c5dce7cf4d6a3.tar.gz
gcc-d8286cfb1ff34e70f0bb2209b62c5dce7cf4d6a3.tar.bz2
Add two new steps to compile process
Add the ast validation and feature gating steps to the compile pipeline. gcc/rust/ChangeLog: * lang.opt: Add the new compile options and update the enum values. * rust-session-manager.h (struct CompileOptions): Add the new steps to the enumeration. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc/rust')
-rw-r--r--gcc/rust/lang.opt26
-rw-r--r--gcc/rust/rust-session-manager.h2
2 files changed, 18 insertions, 10 deletions
diff --git a/gcc/rust/lang.opt b/gcc/rust/lang.opt
index 83db5ec..6e17889 100644
--- a/gcc/rust/lang.opt
+++ b/gcc/rust/lang.opt
@@ -157,7 +157,7 @@ Rust Joined Separate
frust-compile-until=
Rust Joined RejectNegative Enum(frust_compile_until) Var(flag_rust_compile_until)
--frust-compile-until=[ast|attributecheck|expansion|nameresolution|lowering|typecheck|privacy|unsafety|const|compilation|end] The pipeline will run up until this stage when compiling Rust code
+-frust-compile-until=[ast|attributecheck|expansion|astvalidation|featuregating|nameresolution|lowering|typecheck|privacy|unsafety|const|borrowcheck|compilation|end] The pipeline will run up until this stage when compiling Rust code
Enum
Name(frust_compile_until) Type(int) UnknownError(unknown rust compile-until %qs)
@@ -172,31 +172,37 @@ EnumValue
Enum(frust_compile_until) String(expansion) Value(2)
EnumValue
-Enum(frust_compile_until) String(nameresolution) Value(3)
+Enum(frust_compile_until) String(astvalidation) Value(3)
EnumValue
-Enum(frust_compile_until) String(lowering) Value(4)
+Enum(frust_compile_until) String(featuregating) Value(4)
EnumValue
-Enum(frust_compile_until) String(typecheck) Value(5)
+Enum(frust_compile_until) String(nameresolution) Value(5)
EnumValue
-Enum(frust_compile_until) String(privacy) Value(6)
+Enum(frust_compile_until) String(lowering) Value(6)
EnumValue
-Enum(frust_compile_until) String(unsafety) Value(7)
+Enum(frust_compile_until) String(typecheck) Value(7)
EnumValue
-Enum(frust_compile_until) String(const) Value(8)
+Enum(frust_compile_until) String(privacy) Value(8)
EnumValue
-Enum(frust_compile_until) String(borrowcheck) Value(9)
+Enum(frust_compile_until) String(unsafety) Value(9)
EnumValue
-Enum(frust_compile_until) String(compilation) Value(10)
+Enum(frust_compile_until) String(const) Value(10)
EnumValue
-Enum(frust_compile_until) String(end) Value(11)
+Enum(frust_compile_until) String(borrowcheck) Value(11)
+
+EnumValue
+Enum(frust_compile_until) String(compilation) Value(12)
+
+EnumValue
+Enum(frust_compile_until) String(end) Value(13)
frust-name-resolution-2.0
Rust Var(flag_name_resolution_2_0)
diff --git a/gcc/rust/rust-session-manager.h b/gcc/rust/rust-session-manager.h
index 2b1f6d0..0240c01 100644
--- a/gcc/rust/rust-session-manager.h
+++ b/gcc/rust/rust-session-manager.h
@@ -249,6 +249,8 @@ struct CompileOptions
Ast,
AttributeCheck,
Expansion,
+ ASTValidation,
+ FeatureGating,
NameResolution,
Lowering,
TypeCheck,