File 1303-Suppress-dialyzer-warnings-in-code.patch of Package erlang
From 5e349a0f3a7533bf0ed80c8633244c7c3e630f9a Mon Sep 17 00:00:00 2001
From: Anders Svensson <anders@erlang.org>
Date: Thu, 2 Jul 2020 15:57:33 +0200
Subject: [PATCH 3/4] Suppress dialyzer warnings in code
Instead of assuming that dialyzer is run with non-default options and
omitted dictionary modules. The dialyzer attribute is documented in
dialyzer(3).
Also suppress a compiler warning on unused functions in generated
dictionary modules. Compiler options as attributes are documented in
compile(3).
---
lib/diameter/src/Makefile | 5 +----
lib/diameter/src/base/diameter_traffic.erl | 2 ++
lib/diameter/src/compiler/diameter_codegen.erl | 5 +++--
lib/diameter/src/transport/diameter_tcp.erl | 2 ++
4 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile
index 36e8fefd4c..348cc350e1 100644
--- a/lib/diameter/src/Makefile
+++ b/lib/diameter/src/Makefile
@@ -231,16 +231,13 @@ $(PLT):
dialyze: opt $(PLT)
dialyzer --plt $(PLT) \
--verbose \
- -Wno_improper_lists \
$(EBIN)/diameter_gen_base_rfc3588.$(EMULATOR) \
$(patsubst %, $(EBIN)/%.$(EMULATOR), \
$(notdir $(DICT_YRL) \
$(RT_MODULES) \
$(CT_MODULES) \
+ $(DICT_MODULES) \
$(INFO_MODULES)))
-# Omit all but the common dictionary module since these
-# (diameter_gen_relay in particular) generate warnings depending on how
-# much of the included diameter_gen.hrl they use.
# ----------------------------------------------------
# Release targets
diff --git a/lib/diameter/src/base/diameter_traffic.erl b/lib/diameter/src/base/diameter_traffic.erl
index 4667bbc3f2..110fdcafb0 100644
--- a/lib/diameter/src/base/diameter_traffic.erl
+++ b/lib/diameter/src/base/diameter_traffic.erl
@@ -26,6 +26,8 @@
-module(diameter_traffic).
+-dialyzer(no_improper_lists).
+
%% towards diameter
-export([send_request/4]).
diff --git a/lib/diameter/src/compiler/diameter_codegen.erl b/lib/diameter/src/compiler/diameter_codegen.erl
index 4e6fe32d69..4a3f65359a 100644
--- a/lib/diameter/src/compiler/diameter_codegen.erl
+++ b/lib/diameter/src/compiler/diameter_codegen.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 2010-2017. All Rights Reserved.
+%% Copyright Ericsson AB 2010-2020. All Rights Reserved.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
@@ -143,7 +143,8 @@ gen(erl, ParseD, Mod) ->
erl_forms(Mod, ParseD) ->
Forms = [[{?attribute, module, Mod},
{?attribute, compile, {parse_transform, diameter_exprecs}},
- {?attribute, compile, nowarn_unused_function}],
+ {?attribute, compile, nowarn_unused_function},
+ {?attribute, dialyzer, no_return}],
make_hrl_forms(ParseD),
[{?attribute, export, [{name, 0},
{id, 0},
diff --git a/lib/diameter/src/transport/diameter_tcp.erl b/lib/diameter/src/transport/diameter_tcp.erl
index 95bee749f6..2c5dc2fa2e 100644
--- a/lib/diameter/src/transport/diameter_tcp.erl
+++ b/lib/diameter/src/transport/diameter_tcp.erl
@@ -20,6 +20,8 @@
-module(diameter_tcp).
+-dialyzer(no_improper_lists).
+
-behaviour(gen_server).
%% interface
--
2.26.2