https://gcc.gnu.org/g:230cd6df82b6705a82799c33533ae61c3cab86d0

commit 230cd6df82b6705a82799c33533ae61c3cab86d0
Author: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>
Date:   Tue Oct 24 16:46:21 2023 +0200

    Add call to ast validation checker
    
    Add call to ast validation check, also add appropriate step to this pass
    and the feature gating.
    
    gcc/rust/ChangeLog:
    
            * rust-session-manager.cc (Session::compile_crate): Add call to ast
            validation.
    
    Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>

Diff:
---
 gcc/rust/rust-session-manager.cc | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc
index c18a3d01bd94..33aa13364807 100644
--- a/gcc/rust/rust-session-manager.cc
+++ b/gcc/rust/rust-session-manager.cc
@@ -47,6 +47,7 @@
 #include "rust-unicode.h"
 #include "rust-attribute-values.h"
 #include "rust-borrow-checker.h"
+#include "rust-ast-validation.h"
 
 #include "input.h"
 #include "selftest.h"
@@ -600,7 +601,15 @@ Session::compile_crate (const char *filename)
       rust_debug ("END POST-EXPANSION AST DUMP");
     }
 
+  // AST Validation pass
+  if (last_step == CompileOptions::CompileStep::ASTValidation)
+    return;
+
+  ASTValidation ().check (parsed_crate);
+
   // feature gating
+  if (last_step == CompileOptions::CompileStep::FeatureGating)
+    return;
   FeatureGate ().check (parsed_crate);
 
   if (last_step == CompileOptions::CompileStep::NameResolution)

Reply via email to