File 0214-beam_validator-Don-t-discard-fragility.patch of Package erlang

From c31902c4bb2d1a8e4ba4a8691581a22ea2daec43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org>
Date: Thu, 29 Nov 2018 07:52:53 +0100
Subject: [PATCH] beam_validator: Don't discard fragility

Be more careful when updating types so that fragility is not lost.
---
 lib/compiler/src/beam_validator.erl | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/compiler/src/beam_validator.erl b/lib/compiler/src/beam_validator.erl
index 7d908df3bf..1945faba7f 100644
--- a/lib/compiler/src/beam_validator.erl
+++ b/lib/compiler/src/beam_validator.erl
@@ -1164,8 +1164,10 @@ bsm_restore(Reg, SavePoint, Vst) ->
 %%% Keeping track of types.
 %%%
 
-set_type(Type, {x,_}=Reg, Vst) -> set_type_reg(Type, Reg, Vst);
-set_type(Type, {y,_}=Reg, Vst) -> set_type_y(Type, Reg, Vst);
+set_type(Type, {x,_}=Reg, Vst) ->
+    set_type_reg(Type, Reg, Reg, Vst);
+set_type(Type, {y,_}=Reg, Vst) ->
+    set_type_reg(Type, Reg, Reg, Vst);
 set_type(_, _, #vst{}=Vst) -> Vst.
 
 set_type_reg(Type, Src, Dst, Vst) ->
-- 
2.16.4

openSUSE Build Service is sponsored by