Age | Commit message (Collapse) | Author |
|
* ingela/corrct-otp-internal:
ssl, public_key, crypto: Change deprecated to removed
|
|
Two dummy .erl files are created while releasing the tests for
the compiler. Remove the files after they have been copied to
the release directory to avoid that they show up as untracked
files in the output of "git status".
|
|
bjorng/bjorn/disallow-unicode-module-names/OTP-14285
Don't allow module names with non-latin1 characters
|
|
|
|
|
|
|
|
|
|
|
|
* bjorn/asn1/clean-up:
Remove default clauses that cause exceptions for internal errors
Clean up comments
Clean up asn1ct_gen:emit/1
Remove unused clauses in asn1ct_gen:emit/1
Clean up use of asn1ct_gen:emit/1
Remove the 'debug' option
Only generate needed single quotes around function names
asn1ct_gen_ber_bin_v2: Remove unused code
asn1ct_gen_per: Fix broken dialyzer suppression function
asn1_erl_nif.c: Correct handling of tags >= 16384
|
|
use normal file names for eunit reports
OTP-14287
|
|
In OTP 20, all Unicode characters are allowed in atoms.
However, we have decided that we will not allow non-latin1
characters in module names in OTP 20. This restriction may
be lifted in a future major release of OTP.
Enforce the restriction in erl_lint, so that it will be a
compilation error to have a module name containing non-latin1
characters. That means that tools such as debugger, xref,
dialyzer, syntax_tools, and so on, do not have to be modified
to handle non-latin1 module names.
|
|
* vans163/patch-1/PR-1319:
Update inet.xml. Note buffer relation to MTU
|
|
The documentation does not indicate this is the buffer responsible for the maximum bytes we can receive from a recv call.
|
|
* ingela/ssl/dtls-test:
dtls: Correct version check
dtls: Test case fixes
|
|
* siri/edoc/testcuddle:
Run preprocess when generating xmerl documentation in test
|
|
'origin/jparise/parsetools/yecc-header-dot/OTP-14276/PR-1357'
* origin/jparise/parsetools/yecc-header-dot/OTP-14276/PR-1357:
Include ending dot in yecc's Header code example
|
|
* bjorn/stdlib/erl_tar:
erl_tar: Close files after reading from a tar file
|
|
Just crash if there is an internal error.
|
|
edoc: Don't generate timestamps in footer
OTP-14277
|
|
Fix unhandled exceptions in otp_internal module
|
|
beam_type: Avoid an internal consistency check failure
|
|
* maint:
Updated OTP version
Prepare release
Conflicts:
OTP_VERSION
lib/typer/doc/src/notes.xml
lib/typer/vsn.mk
|
|
|
|
* Remove out-commented code
* Fix obvious typos and bad grammar
* Adhere to the conventions for when to use "%" and "%%".
|
|
* hasse/hipe/remove_work_around:
hipe: Remove work around for Dialyzer bug
|
|
* hasse/fix_erl_anno_use:
parsetools: Fix handling of locations and annotations
diameter: Fix handling of locations and annotations
kernel: Fix handling of locations and annotations
compiler: Fix handling of locations and annotations
eunit: Fix handling of locations and annotations
Update preloaded
erts: Fix handling of locations and annotations
dialyzer: Fix handling of annotations in a test
debugger: Fix handling of locations and annotations
stdlib: Extend functions in erl_parse to handle form_info()
stdlib: Fix handling of locations and annotations
erts: Correct the documentation of abstract end-of-file
stdlib: Add debug tests to the erl_parse module
stdlib: improve the erl_anno module's debug tests
stdlib: Improve the erl_pp module's debug tests
|
|
|
|
Remove blank lines between clauses; use matching instead of
is_list/1 guards.
|
|
|
|
Stop up using asn1ct_gen:emit/1 with a tuple instead of a list.
Also remove the remaining uses of asn1ct_gen:demit/1.
|
|
The debug option no longer serves any useful purpose.
|
|
That will make code slightly easier to read.
|
|
The code is not covered. The code is also not present
in the PER backend.
Here is a somewhat more formal proof that the code cannot
be reached:
asn1ct_gen_ber_bin_v2:gen_encode_user/3 calls
asn1ct_gen:gen_encode_constructed/4 where Typename is a list
of one element.
asn1ct_gen:gen_encode_constructed/4 will call
asn1ct_gen_ber_bin_v2:gen_encode/3 via asn1ct_gen:gen_types/4.
Note that if InnerType in asn1ct_gen:gen_encode_constructed/4
is 'SEQUENCE OF' or 'SET OF', Typename will be extended to a
list with two elements.
If InnerType in asn1ct_gen:gen_encode_constructed/4 is
'SET', 'SEQUENCE', or 'CHOICE', then asn1ct_gen_ber_bin_v2:gen_encode/3
will be called with the last argument being a #'ComponentType'{}.
asn1ct_gen_ber_bin_v2:gen_encode/3 will in that cause extend
Typename before calling itself recursively.
Therefore, Typename is always a list with at least two elements
when the removed code is called.
|
|
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.
|
|
Tags number above 16383 were not decoded correctly in
ber_decode_tag().
We could fix the problem, but there does not seem to be any need.
First, the only way that high tag numbers can be created is with
manual tagging; after 1994 manual tagging is no longer recommended.
Second, the ASN.1 playground (http://asn1-playground.oss.com) only
supports tags up to 16383 (the same is presumably true for OSS
Nokalva's other tools).
Therefore, clean up the existing code and make it an explicit
'invalid_tag' error when tags above 13383 are encountered
(instead of an implicit 'wrong_tag' error).
|
|
* maint:
Fix xml warnings in old release notes
|
|
|
|
Code such as the following:
-record(x, {a}).
f(R, N0) ->
N = N0 / 100,
if element(1, R#x.a) =:= 0 ->
N
end.
would fail to compile with the following message:
m: function f/2+19:
Internal consistency check failed - please report this bug.
Instruction: {fmove,{fr,0},{x,1}}
Error: {uninitialized_reg,{fr,0}}:
This bug was introduced in 348b5e6bee2f.
Basically, the beam_type pass placed the fmove instruction in the
wrong place. Instructions that store to floating point registers and
instructions that read from floating point registers are supposed to
be in the same basic block.
Fix the problem by flushing all floating points instruction
before a call the pseudo-BIF is_record/3, thus making sure that
the fmove instruction is placed in the correct block.
Here is an annotated listing of the relevant part of the .S
file (before the fix):
{test_heap,{alloc,[{words,0},{floats,1}]},2}.
{fconv,{x,1},{fr,0}}.
{fmove,{float,100.0},{fr,1}}.
fclearerror.
{bif,fdiv,{f,0},[{fr,0},{fr,1}],{fr,0}}.
{fcheckerror,{f,0}}.
%% The instruction {fmove,{fr,0},{x,1}} should have
%% been here.
%% Block of instructions expanded from a call to
%% the pseudo-BIF is_record/3. (Expanded in a later
%% compiler pass.)
{test,is_tuple,{f,3},[{x,0}]}.
{test,test_arity,{f,3},[{x,0},2]}.
{get_tuple_element,{x,0},0,{x,2}}.
{test,is_eq_exact,{f,3},[{x,2},{atom,x}]}.
{move,{atom,true},{x,2}}.
{jump,{f,4}}.
{label,3}.
{move,{atom,false},{x,2}}.
{label,4}.
%% End of expansion.
%% The fmove instruction that beam_validator complains
%% about.
{fmove,{fr,0},{x,1}}.
Reported-by: Richard Carlsson
|
|
|
|
|
|
|
|
The bug in Dialyzer is fixed in commit 5ac2943.
|
|
The following calls:
- otp_internal:obsolete(rpc, safe_multi_server_call, 2).
- otp_internal:obsolete(rpc, safe_multi_server_call, 3).
threw an unhandled exception.
The return value has been amended to match the relevant pattern of
obsolete/3.
|
|
|
|
Users wanted to see the maximum value seen by observer during it's uptime.
Note changes faster than the sample rate will still be missed.
|
|
In OTP-20 dirty_schedulers are default on.
Draw them dotted so we can difference between real schedulers
and dirty schedulers.
|
|
|
|
* hasse/dialyzer/fix_plt_suite:
dialyzer: Correct a test case
|
|
|
|
|