From: Alex Rønne Petersen Date: Fri, 11 Aug 2017 14:34:50 +0000 (+0200) Subject: Merge pull request #5352 from urisimchoni/fix-logprof-manpage X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=47cd88f0f81b8da3a19a664fab00925c0c40f6c2;hp=7ce175b0238981998fa26aea66fec369c7fc9af2;p=mono.git Merge pull request #5352 from urisimchoni/fix-logprof-manpage [docs] fixes to log profiler manpage --- diff --git a/mcs/build/profiles/basic.make b/mcs/build/profiles/basic.make index ef393d92d03..a76de22836f 100644 --- a/mcs/build/profiles/basic.make +++ b/mcs/build/profiles/basic.make @@ -34,7 +34,7 @@ PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -d:BOOTSTRAP_B NO_SIGN_ASSEMBLY = yes NO_TEST = yes NO_INSTALL = yes -FRAMEWORK_VERSION = 4.0 +FRAMEWORK_VERSION = 4.5 # Compiler all using same bootstrap compiler LIBRARY_COMPILE = $(BOOT_COMPILE) diff --git a/mcs/class/System.Core/Makefile b/mcs/class/System.Core/Makefile index ac79cff1623..7ac0624eafb 100644 --- a/mcs/class/System.Core/Makefile +++ b/mcs/class/System.Core/Makefile @@ -34,12 +34,10 @@ LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME endif ifneq (basic, $(PROFILE)) -CLR_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION)) -endif - -ifdef CLR_PROFILE +ifneq (2.1, $(FRAMEWORK_VERSION)) LIB_REFS += Mono.Posix endif +endif CC_PROFILE := $(filter monotouch% xammac, $(PROFILE)) ifdef CC_PROFILE diff --git a/mcs/class/System.Data.Linq/src/DbLinq/System.Data.Linq/Makefile b/mcs/class/System.Data.Linq/src/DbLinq/System.Data.Linq/Makefile index 20cc4b10bca..13bea782425 100644 --- a/mcs/class/System.Data.Linq/src/DbLinq/System.Data.Linq/Makefile +++ b/mcs/class/System.Data.Linq/src/DbLinq/System.Data.Linq/Makefile @@ -9,9 +9,4 @@ LIB_MCS_FLAGS = NO_TEST = yes -ifeq (2.0, $(FRAMEWORK_VERSION)) -# This is a .NET 3.5 only assembly, but built during the 2.0 build -LIB_MCS_FLAGS += -d:NET_3_5 -endif - include ../../build/library.make diff --git a/mcs/class/System.Runtime.DurableInstancing/Makefile b/mcs/class/System.Runtime.DurableInstancing/Makefile index eb1233ff7c8..e3369f2d139 100644 --- a/mcs/class/System.Runtime.DurableInstancing/Makefile +++ b/mcs/class/System.Runtime.DurableInstancing/Makefile @@ -16,8 +16,7 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) EXTRA_DISTFILES = $(RESOURCE_FILES) -VALID_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION)) -ifndef VALID_PROFILE +ifneq (4.5, $(FRAMEWORK_VERSION)) LIBRARY_NAME = dummy-System.Runtime.DurableInstancing.dll NO_INSTALL = yes NO_SIGN_ASSEMBLY = yes diff --git a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_01/Makefile b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_01/Makefile index 1c82c534157..b40292afb48 100644 --- a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_01/Makefile +++ b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_01/Makefile @@ -24,7 +24,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_02/Makefile b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_02/Makefile index 3910e004204..7b4716e23dc 100644 --- a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_02/Makefile +++ b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_02/Makefile @@ -13,7 +13,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_03/Makefile b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_03/Makefile index cf8e0f5f743..f83a2bae241 100644 --- a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_03/Makefile +++ b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_03/Makefile @@ -13,7 +13,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_04/Makefile b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_04/Makefile index ff0172cd7a4..ec8ceca2bda 100644 --- a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_04/Makefile +++ b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_04/Makefile @@ -13,7 +13,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_05/Makefile b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_05/Makefile index f9c8780885e..b805579fcb6 100644 --- a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_05/Makefile +++ b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_05/Makefile @@ -13,7 +13,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_06/Makefile b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_06/Makefile index a1b5012d9a2..f87fe645151 100644 --- a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_06/Makefile +++ b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_06/Makefile @@ -13,7 +13,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_07/Makefile b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_07/Makefile index 61033858088..b23bc982b3d 100644 --- a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_07/Makefile +++ b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_07/Makefile @@ -13,7 +13,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_08/Makefile b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_08/Makefile index ba345317aaf..a4126832136 100644 --- a/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_08/Makefile +++ b/mcs/class/System.Web/Test/standalone/ApplicationPreStartMethods/test_08/Makefile @@ -13,7 +13,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_01/Makefile b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_01/Makefile index 17464eb5c6a..f0d1399fa1e 100644 --- a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_01/Makefile +++ b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_01/Makefile @@ -12,7 +12,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_02/Makefile b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_02/Makefile index 5ebdf8d62b2..267882d694a 100644 --- a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_02/Makefile +++ b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_02/Makefile @@ -12,7 +12,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_03/Makefile b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_03/Makefile index a1c22ea4a64..eed4f1273a3 100644 --- a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_03/Makefile +++ b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_03/Makefile @@ -12,7 +12,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_04/Makefile b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_04/Makefile index ed1c11f82a0..8c721a8d73a 100644 --- a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_04/Makefile +++ b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_04/Makefile @@ -12,7 +12,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_05/Makefile b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_05/Makefile index 1c62f879d54..264c7feff45 100644 --- a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_05/Makefile +++ b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_05/Makefile @@ -12,7 +12,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_06/Makefile b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_06/Makefile index 0b88be3c34d..a9dc48eb787 100644 --- a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_06/Makefile +++ b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_06/Makefile @@ -12,7 +12,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_07/Makefile b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_07/Makefile index d912fce274e..fb0fd1e3410 100644 --- a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_07/Makefile +++ b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_07/Makefile @@ -12,7 +12,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_08/Makefile b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_08/Makefile index 667e288b3e8..71a45db3a6e 100644 --- a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_08/Makefile +++ b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_08/Makefile @@ -12,7 +12,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_09/Makefile b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_09/Makefile index 228532c1b45..8a259651aaf 100644 --- a/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_09/Makefile +++ b/mcs/class/System.Web/Test/standalone/EnableFormsAuthentication/Test_09/Makefile @@ -12,7 +12,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/PageParserDefaultTypeProperties/Makefile b/mcs/class/System.Web/Test/standalone/PageParserDefaultTypeProperties/Makefile index 34938ef1d17..a75e30d7926 100644 --- a/mcs/class/System.Web/Test/standalone/PageParserDefaultTypeProperties/Makefile +++ b/mcs/class/System.Web/Test/standalone/PageParserDefaultTypeProperties/Makefile @@ -13,7 +13,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/System.Web/Test/standalone/RegisterBuildProvider/Makefile b/mcs/class/System.Web/Test/standalone/RegisterBuildProvider/Makefile index 0809ee737b6..f0452d73e63 100644 --- a/mcs/class/System.Web/Test/standalone/RegisterBuildProvider/Makefile +++ b/mcs/class/System.Web/Test/standalone/RegisterBuildProvider/Makefile @@ -14,7 +14,7 @@ APPLICATION_ASSEMBLY_MCS_FLAGS = \ -debug:full \ -r:System.Web.dll -VALID_PROFILE := $(filter 4.0, $(FRAMEWORK_VERSION)) +VALID_PROFILE := $(filter 4.5, $(FRAMEWORK_VERSION)) ifndef VALID_PROFILE all: diff --git a/mcs/class/WindowsBase/Makefile b/mcs/class/WindowsBase/Makefile index a6b99082151..05c2e6e2015 100644 --- a/mcs/class/WindowsBase/Makefile +++ b/mcs/class/WindowsBase/Makefile @@ -9,9 +9,6 @@ LIB_MCS_FLAGS = -unsafe -nowarn:67,618 TEST_MCS_FLAGS = -unsafe TEST_LIB_REFS = WindowsBase System System.Xml System.Core System.IO.Compression -ifeq (2.0, $(FRAMEWORK_VERSION)) -LIB_MCS_FLAGS += -d:NET_3_0 -endif ifeq (4, $(FRAMEWORK_VERSION_MAJOR)) LIB_REFS += System.Xaml TEST_LIB_REFS += System.Xaml diff --git a/mcs/tools/xbuild/Makefile b/mcs/tools/xbuild/Makefile index 93d925ff273..406829f8021 100644 --- a/mcs/tools/xbuild/Makefile +++ b/mcs/tools/xbuild/Makefile @@ -14,11 +14,7 @@ include ../../build/executable.make XBUILD_DIR=. include $(XBUILD_DIR)/xbuild_test.make -ifeq (4.0, $(FRAMEWORK_VERSION)) -install-local: xbuild-net4-fail -else install-local: install-extras -endif PORTABLE_TARGETS_SRC:=data/Portable/Targets PCL5_FX_SRC:=data/Portable/Frameworks/v5.0 diff --git a/mcs/tools/xbuild/xbuild_test.make b/mcs/tools/xbuild/xbuild_test.make index 4c503c060ac..d7488d66411 100644 --- a/mcs/tools/xbuild/xbuild_test.make +++ b/mcs/tools/xbuild/xbuild_test.make @@ -6,16 +6,8 @@ export TESTING_MONO=a export MSBuildExtensionsPath=$(XBUILD_DATA_DIR) export XBUILD_FRAMEWORK_FOLDERS_PATH= $(topdir)/class/Microsoft.Build/xbuild-testing -ifeq (4.0, $(FRAMEWORK_VERSION)) -NO_TEST=true -else test-local: copy-targets Test/test-config-file-$(PROFILE) clean-local: clean-targets clean-test-config -endif - -xbuild-net4-fail: - @echo "The net_4_0 profile contains reference assemblies only and cannot be installed/tested as an xbuild toolset" - @exit 1 Test/test-config-file-$(PROFILE): $(XBUILD_DATA_DIR)/xbuild.exe.config_test.in sed -e 's/@ASM_VERSION@/$(XBUILD_ASSEMBLY_VERSION)/g' $(XBUILD_DATA_DIR)/xbuild.exe.config_test.in > Test/test-config-file-$(PROFILE) diff --git a/mono/eglib/gstr.c b/mono/eglib/gstr.c index 98d8faf2679..cd2fda3c2a1 100644 --- a/mono/eglib/gstr.c +++ b/mono/eglib/gstr.c @@ -38,6 +38,16 @@ #include +/* + * Linux knows two different versions of strerror_r () that can only be distinguished + * by using feature test macros. Please check the man pages for more details. + */ +#if defined (_POSIX_C_SOURCE) && defined (_GNU_SOURCE) +#if (_POSIX_C_SOURCE >= 200112L) && !_GNU_SOURCE +#define USE_STRERROR_R_XSI +#endif +#endif + /* * g_strndup and g_vasprintf need to allocate memory with g_malloc if * ENABLE_OVERRIDABLE_ALLOCATORS is defined so that it can be safely freed with g_free @@ -231,10 +241,11 @@ g_strerror (gint errnum) #ifdef HAVE_STRERROR_R char tmp_buff [128]; //Quite arbitrary, should be large enough char *buff = tmp_buff; - int buff_len = sizeof (tmp_buff); - int r; + size_t buff_len = sizeof (tmp_buff); buff [0] = 0; +#ifdef USE_STRERROR_R_XSI + int r; while ((r = strerror_r (errnum, buff, buff_len - 1))) { if (r != ERANGE) { buff = g_strdup_printf ("Invalid Error code '%d'", errnum); @@ -251,10 +262,16 @@ g_strerror (gint errnum) error_messages [errnum] = g_strdup (buff); if (buff != tmp_buff) g_free (buff); -#else +#else /* USE_STRERROR_R_XSI */ + buff = strerror_r (errnum, buff, buff_len); + if (!error_messages [errnum]) + error_messages [errnum] = g_strdup (buff); +#endif /* USE_STRERROR_R_XSI */ + +#else /* HAVE_STRERROR_R */ if (!error_messages [errnum]) error_messages [errnum] = g_strdup_printf ("Error code '%d'", errnum); -#endif +#endif /* HAVE_STRERROR_R */ #ifndef G_OS_WIN32 diff --git a/mono/mini/mini-llvm.c b/mono/mini/mini-llvm.c index bdcbd9ca72a..f072ac56c1e 100644 --- a/mono/mini/mini-llvm.c +++ b/mono/mini/mini-llvm.c @@ -4117,26 +4117,26 @@ emit_handler_start (EmitContext *ctx, MonoBasicBlock *bb, LLVMBuilderRef builder } /* Start a new bblock which CALL_HANDLER can branch to */ - target_bb = bblocks [bb->block_num].call_handler_target_bb; - if (target_bb) { - ctx->builder = builder = create_builder (ctx); - LLVMPositionBuilderAtEnd (ctx->builder, target_bb); + ctx->builder = builder = create_builder (ctx); + LLVMPositionBuilderAtEnd (ctx->builder, target_bb); - ctx->bblocks [bb->block_num].end_bblock = target_bb; + ctx->bblocks [bb->block_num].end_bblock = target_bb; - /* Store the exception into the IL level exvar */ - if (bb->in_scount == 1) { - g_assert (bb->in_scount == 1); - exvar = bb->in_stack [0]; + /* Store the exception into the IL level exvar */ + if (bb->in_scount == 1) { + g_assert (bb->in_scount == 1); + exvar = bb->in_stack [0]; - // FIXME: This is shared with filter clauses ? - g_assert (!values [exvar->dreg]); + // FIXME: This is shared with filter clauses ? + g_assert (!values [exvar->dreg]); - g_assert (ctx->ex_var); - values [exvar->dreg] = LLVMBuildLoad (builder, ctx->ex_var, ""); - emit_volatile_store (ctx, exvar->dreg); - } + g_assert (ctx->ex_var); + values [exvar->dreg] = LLVMBuildLoad (builder, ctx->ex_var, ""); + emit_volatile_store (ctx, exvar->dreg); } + + /* Make normal branches to the start of the clause branch to the new bblock */ + bblocks [bb->block_num].bblock = target_bb; } static void