Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:24
erlang
5201-v3_core-Stricten-tests-for-integers.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 5201-v3_core-Stricten-tests-for-integers.patch of Package erlang
From 2c10759484c7e304e616ec02cc157f1d9d3669d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org> Date: Thu, 30 Jun 2022 05:17:07 +0200 Subject: [PATCH 1/6] v3_core: Stricten tests for integers --- lib/compiler/src/v3_core.erl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/compiler/src/v3_core.erl b/lib/compiler/src/v3_core.erl index 974d3413b1..34959a5834 100644 --- a/lib/compiler/src/v3_core.erl +++ b/lib/compiler/src/v3_core.erl @@ -236,7 +236,8 @@ defined_functions(Forms) -> %% io:format("~w/~w " ++ Format,[Name,Arity]++Terms), %% ok. -function({function,_,Name,Arity,Cs0}, Ws0, File, Opts) -> +function({function,_,Name,Arity,Cs0}, Ws0, File, Opts) + when is_integer(Arity), 0 =< Arity, Arity =< 255 -> try St0 = #core{vcount=0,function={Name,Arity},opts=Opts, dialyzer=member(dialyzer, Opts), @@ -1516,7 +1517,7 @@ verify_suitable_fields([]) -> ok. %% Count the number of bits approximately needed to store Int. %% (We don't need an exact result for this purpose.) -count_bits(Int) -> +count_bits(Int) when is_integer(Int) -> count_bits_1(abs(Int), 64). count_bits_1(0, Bits) -> Bits; @@ -2215,19 +2216,19 @@ string_to_conses(Line, Cs, Tail) -> make_vars(Vs) -> [ #c_var{name=V} || V <- Vs ]. -new_fun_name(#core{function={F,A},fcount=I}=St) -> +new_fun_name(#core{function={F,A},fcount=I}=St) when is_integer(I) -> Name = "-" ++ atom_to_list(F) ++ "/" ++ integer_to_list(A) ++ "-fun-" ++ integer_to_list(I) ++ "-", {list_to_atom(Name),St#core{fcount=I+1}}. %% new_fun_name(Type, State) -> {FunName,State}. -new_fun_name(Type, #core{fcount=C}=St) -> +new_fun_name(Type, #core{fcount=C}=St) when is_integer(C) -> {list_to_atom(Type ++ "$^" ++ integer_to_list(C)),St#core{fcount=C+1}}. %% new_var_name(State) -> {VarName,State}. -new_var_name(#core{vcount=C}=St) -> +new_var_name(#core{vcount=C}=St) when is_integer(C) -> {C,St#core{vcount=C + 1}}. %% new_var(State) -> {{var,Name},State}. -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor