Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZoltan Varga <vargaz@gmail.com>2015-02-20 01:17:20 +0300
committerZoltan Varga <vargaz@gmail.com>2015-02-20 01:17:20 +0300
commitc3611d4d3b70affb5cfc798cc5bf64c7e44860cc (patch)
treef2d7a72e57b77b1e67547c4c58d6fd76062251ea
parent61ae03fef1aaa74228c5eeba4fe6c03261ce2552 (diff)
[llvm] Mark methods with the NOINLINING attribute as non-inlinable.
-rw-r--r--mono/mini/mini-llvm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mono/mini/mini-llvm.c b/mono/mini/mini-llvm.c
index a9c5f4cbea5..05d78b0c88a 100644
--- a/mono/mini/mini-llvm.c
+++ b/mono/mini/mini-llvm.c
@@ -4910,7 +4910,7 @@ mono_llvm_emit_method (MonoCompile *cfg)
if (clause->flags != MONO_EXCEPTION_CLAUSE_FINALLY && clause->flags != MONO_EXCEPTION_CLAUSE_NONE)
LLVM_FAILURE (ctx, "non-finally/catch clause.");
}
- if (header->num_clauses)
+ if (header->num_clauses || (cfg->method->iflags & METHOD_IMPL_ATTRIBUTE_NOINLINING))
/* We can't handle inlined methods with clauses */
LLVMAddFunctionAttr (method, LLVMNoInlineAttribute);