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>2016-01-02 06:04:53 +0300
committerSebastien Pouliot <sebastien@xamarin.com>2016-03-03 03:44:26 +0300
commit735c3907df3ee3a53e1c948c44e25a4ff007cb0d (patch)
treed2667eacc89a5cd04d5abd051c3819bc8ff60c4b
parenteef138022dca6996cd519632071c5d4dd29cf918 (diff)
[llvm] Disable support for nested clauses, it still doesn't work. Fixes #37273.
-rw-r--r--mono/mini/mini-llvm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mono/mini/mini-llvm.c b/mono/mini/mini-llvm.c
index 666db656def..20d1b34101f 100644
--- a/mono/mini/mini-llvm.c
+++ b/mono/mini/mini-llvm.c
@@ -4925,8 +4925,9 @@ mono_llvm_check_method_supported (MonoCompile *cfg)
MonoExceptionClause *clause1 = &cfg->header->clauses [i];
MonoExceptionClause *clause2 = &cfg->header->clauses [j];
- if (i != j && clause1->try_offset >= clause2->try_offset && clause1->handler_offset <= clause2->handler_offset &&
- (clause1->flags == MONO_EXCEPTION_CLAUSE_FINALLY || clause2->flags == MONO_EXCEPTION_CLAUSE_FINALLY)) {
+ // FIXME: Nested try clauses fail in some cases too, i.e. #37273
+ if (i != j && clause1->try_offset >= clause2->try_offset && clause1->handler_offset <= clause2->handler_offset) {
+ //(clause1->flags == MONO_EXCEPTION_CLAUSE_FINALLY || clause2->flags == MONO_EXCEPTION_CLAUSE_FINALLY)) {
cfg->exception_message = g_strdup ("nested clauses");
cfg->disable_llvm = TRUE;
break;