File 2433-asn1ct_gen_per-Fix-broken-dialyzer-suppression-funct.patch of Package erlang

From 1831c36cc0d7c98917ae3bd274071c9c450a9c02 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org>
Date: Tue, 28 Feb 2017 10:38:01 +0100
Subject: [PATCH 02/10] asn1ct_gen_per: Fix broken dialyzer suppression
 function

ce431409d0daba broke generation of dialyzer suppressions
for per and uper.

While we are it, add type tests to asn1ct_func:is_used/1
to avoid similar problems in the future.
---
 lib/asn1/src/asn1ct_func.erl    | 2 +-
 lib/asn1/src/asn1ct_gen_per.erl | 8 ++++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/lib/asn1/src/asn1ct_func.erl b/lib/asn1/src/asn1ct_func.erl
index 0cd72acf9..016161fca 100644
--- a/lib/asn1/src/asn1ct_func.erl
+++ b/lib/asn1/src/asn1ct_func.erl
@@ -65,7 +65,7 @@ generate(Fd) ->
     Funcs = sofs:to_external(Funcs0),
     ok = file:write(Fd, Funcs).
 
-is_used({_,_,_}=MFA) ->
+is_used({M,F,A}=MFA) when is_atom(M), is_atom(F), is_integer(A) ->
     req({is_used,MFA}).
 
 
diff --git a/lib/asn1/src/asn1ct_gen_per.erl b/lib/asn1/src/asn1ct_gen_per.erl
index 9671a566b..79e96c1aa 100644
--- a/lib/asn1/src/asn1ct_gen_per.erl
+++ b/lib/asn1/src/asn1ct_gen_per.erl
@@ -42,8 +42,12 @@
 %% Generate ENCODING ******************************
 %%****************************************x
 
-dialyzer_suppressions(Erules) ->
-    case asn1ct_func:is_used({Erules,complete,1}) of
+dialyzer_suppressions(#gen{erule=per,aligned=Aligned}) ->
+    Mod = case Aligned of
+              false -> uper;
+              true -> per
+          end,
+    case asn1ct_func:is_used({Mod,complete,1}) of
 	false ->
 	    ok;
 	true ->
-- 
2.12.0

openSUSE Build Service is sponsored by