aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend/rust-compile-extern.h
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2022-01-25 16:34:18 +0000
committerGitHub <noreply@github.com>2022-01-25 16:34:18 +0000
commit5f2973fe0e322380bd5f3f4ea35b657efbf86efa (patch)
tree5c10c91f085cbe16316fd5dff0a611bbd40a0610 /gcc/rust/backend/rust-compile-extern.h
parent3de87e620f8714278c273ec91dc6ec22347c188c (diff)
parentc8a0c6eb4b9ea3779f01418cfc97a6761ca4a957 (diff)
downloadgcc-5f2973fe0e322380bd5f3f4ea35b657efbf86efa.zip
gcc-5f2973fe0e322380bd5f3f4ea35b657efbf86efa.tar.gz
gcc-5f2973fe0e322380bd5f3f4ea35b657efbf86efa.tar.bz2
Merge #891
891: Remove hack to handle forward declared items r=philberty a=philberty We used to use a compile_fns flag as a method to handle the case of code such as: ```rust fn foo() { bar() } fn bar() { } ``` The compile_fns flag when set to false would allow us to do a toplevel scan to compile the initial fndecl prototype of the functions as a method of handling the case of the call to bar() within the body of foo. The backend is setup now that we can 'query_compile' by compiling the item as required with a cache if we have already done so. Co-authored-by: Philip Herron <philip.herron@embecosm.com>
Diffstat (limited to 'gcc/rust/backend/rust-compile-extern.h')
-rw-r--r--gcc/rust/backend/rust-compile-extern.h11
1 files changed, 3 insertions, 8 deletions
diff --git a/gcc/rust/backend/rust-compile-extern.h b/gcc/rust/backend/rust-compile-extern.h
index 100b1f5..507865a 100644
--- a/gcc/rust/backend/rust-compile-extern.h
+++ b/gcc/rust/backend/rust-compile-extern.h
@@ -37,10 +37,9 @@ class CompileExternItem : public HIRCompileBase
public:
static void compile (HIR::ExternalItem *item, Context *ctx,
- bool compile_fns = true,
TyTy::BaseType *concrete = nullptr)
{
- CompileExternItem compiler (ctx, compile_fns, concrete);
+ CompileExternItem compiler (ctx, concrete);
item->accept_vis (compiler);
}
@@ -70,9 +69,6 @@ public:
void visit (HIR::ExternalFunctionItem &function) override
{
- if (!compile_fns)
- return;
-
TyTy::BaseType *fntype_tyty;
if (!ctx->get_tyctx ()->lookup_type (function.get_mappings ().get_hirid (),
&fntype_tyty))
@@ -146,11 +142,10 @@ public:
}
private:
- CompileExternItem (Context *ctx, bool compile_fns, TyTy::BaseType *concrete)
- : HIRCompileBase (ctx), compile_fns (compile_fns), concrete (concrete)
+ CompileExternItem (Context *ctx, TyTy::BaseType *concrete)
+ : HIRCompileBase (ctx), concrete (concrete)
{}
- bool compile_fns;
TyTy::BaseType *concrete;
};