]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Add two new steps to compile process
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Tue, 24 Oct 2023 14:16:34 +0000 (16:16 +0200)
committerCohenArthur <arthur.cohen@embecosm.com>
Mon, 6 Nov 2023 17:13:22 +0000 (17:13 +0000)
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>
gcc/rust/lang.opt
gcc/rust/rust-session-manager.h

index 83db5ec1711d7e12bc2fc3d27211f054767ce97e..6e17889c672014dfe5d30f1065e3dde2e91246ad 100644 (file)
@@ -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)
index 2b1f6d00d9c91d9206cc299218c2c5cd60861d6b..0240c01800806bcdf4ff925c4d668a708c0c87c7 100644 (file)
@@ -249,6 +249,8 @@ struct CompileOptions
     Ast,
     AttributeCheck,
     Expansion,
+    ASTValidation,
+    FeatureGating,
     NameResolution,
     Lowering,
     TypeCheck,