Age | Commit message (Collapse) | Author |
|
The original test comes from the emulator test suite for testing
binary syntax in the run-time system.
Running interpreted it can be quite slow, especially when the system
has been compiled with the configure option --enable-native-libs
(probably because of very many context switches between native code
and BEAM code).
Speed up the test by scaling down the size of binaries from 128
bits to 64 bits. That should speed up the test roughly four times.
By running the little and big endian tests in parallel we will
cut that time in half. Thus all in all the test will run roughly
8 times faster.
|
|
* bjorn/asn1/fix-enum-bug/OTP-11700:
Correct subtyping of extensible ENUMERATED
|
|
* kostis/beam_validator-minor-fix:
Change a list comprehension to a foreach/2 call
|
|
* dgud/misc-cleanup:
dbg: Remove debug printouts and fix file dialog
sasl: Fix testcase which didn't work on windows
gs: Minor doc fix, gs is deprecated
|
|
* dgud/wx/fix-cb-cleanup/OTP-11699:
wx: Test fixes compilation warning
wx: Do not warn for our own deprecated functions
wx: Rewrite eventhandling again
|
|
* hans/ssh/decodebug/OTP_11698:
ssh: Changed order of decode clauses to temp fix decode error
|
|
|
|
* hans/ssh/membug/OTP_11696:
ssh: Fixes memory crash
|
|
|
|
and more dbg info
|
|
|
|
Remove the extra wxEvtListener that only caused confusion,
now everything is automatically cleaned up by the destructors
and event sent to erlang when it becomes delete for all cases.
|
|
Attempting to subtype an extensible ENUMERATED like this:
BaseType ::= { foo, bar, ... }
SubType ::= BaseType ( foo )
would fail to compile with a message that 'foo' was undefined.
Reported-by: Morten Nygaard Åsnes
|
|
Partly to avoid unmatched return warnings from dialyzer and in order
to preserve the style of other similar-looking code in that file.
While at it, fix the wording in one comment.
|
|
|
|
* 'bjorn/lc-warnings/OTP-11626' (early part):
v3_core: Annotate list comprehensions to help out dialyzer
|
|
* nox/compiler/v3_core-case-arg-opt:
Optimise case arguments in sys_core_fold
Run sys_core_fold twice if any inliner is used
|
|
* bjorn/tools/cover/OTP-11692:
cover: Use lists:reverse/1 instead of the home-brewn reverse function
cover: Remove support for ancient formats of abstract code
cover_SUITE: Run part of the test suite when cover is running
test_server: Allow cover to run on itself
cover: Support running cover on itself
|
|
* bjorn/otp_build-small-system:
otp_build: Include parsetools in the release of a small system
|
|
|
|
The raw_abstract_v1 format that is currently used was introduced
in R9C. Beam files that old cannot be executed by the current
run-time system, so there is no need to continue the old formats.
Removing the support will increase coverage.
|
|
We used to skip the entire test suite if the cover server had already
been started by common_test, but that means that we will get bad
coverage for the cover module.
Modify the test suite to to run all tests case that don't explicitly
start or stop the cover server to increase the coverage. In addition,
add a special coverage_analysis/1 test case that only runs when
the cover server is already running.
|
|
|
|
* hb/fix_unmatched_returns:
Fix a few of Dialyzer's unmatched_return warnings
|
|
* hb/refman/type_fix:
[refmanual] Fix List in definition of pre-defined types
|
|
* hb/stdlib/re_remove_comment:
[stdlib] Remove a confusing comment in the re module
|
|
|
|
improper_list(Type1, Type2) has been replaced by
nonempty_improper_list(Type1, Type2).
|
|
The line
%-opaque mp() :: {re_pattern, _, _, _, _}.
has been removed.
The mp() tuple is called 'opaque' in re(3), but it is not an opaque
type. The out-commented -opaque declaration was confusing.
|
|
When releasing a small system like this:
./otp_build setup
./otp_build release TARGET_DIR
include the parsetools application.
In one of our internal scripts, a previously built and released
Erlang/OTP system is used to update the primary bootstrap in a
git repository. A small system could not be used for that purpose
because parsetools was missing.
|
|
Use default positions when open windows.
Remove io:formats() for unhandled events.
Fix file dialog completion window which didn't invoke refrash
|
|
Quoting on Windows is strange
|
|
|
|
* bjorn/compiler/optimizations/OTP-11584:
Teach sys_core_fold:eval_case/2 to cope with handwritten Core Erlang
sys_core_fold: Remove a redundant word in a comment
|
|
* nox/maps-erl_prettypr:
stdlib: Add tests for Maps in erl_prettypr
Support maps in erl_prettypr
|
|
* nox/maps-improve-erl_eval:
Handle map fields in their own function in erl_eval
|
|
We want to see at least some coverage of cover itself.
|
|
* tuncer/fix-public_key-specs:
public_key(3): fix private_key/0 type definition
OTP-11627
|
|
* fenollp/shell-expand-0arity-completely:
Shell: expand 0-arity functions all the way to closing parenthesis
OTP-11684
|
|
* larsr/distclean:
make clean should not remove SKIP files
OTP-11683
|
|
Add new make target 'distclean' that removes
files created by configure.
SKIP files are created by configure for instance
if configured --without-javac. They should only
be removed if one has to reconfigure, otherwise
'make clean; make' breaks.
|
|
Starting in e12b7d5331c58b41db06cadfa4af75b78b62a2b1,
sys_core_fold:eval_case/2 will crash on handwritten but legal
Core Erlang programs such as:
case let <Var> = Arg in {'x',Var} of
{x,X} -> X
end
The problem is that the only clause *is* guaranteed to match, but
cerl_clauses:match_list/2 does not understand that; all it can say is
that the clause *may* match. In those circumstances, we will need to
keep the case.
Also make sure that we keep the case if the guard is something else
than 'true'. That is not strictly necessary, because in a legal Core
Erlang program the guard in the last clause in a case must always
evaluate to 'true', so removing the guard test would still leave the
program correct. Keeping the guard, however, will make it somewhat
easier to debug an incorrect Core Erlang program. (The unsafe_case
test case has guard test in the only clause in a case, so we don't
need to write a new test case to test that.)
Reported-by: Anthony Ramine
|
|
|
|
If the argument of a case expression is a let, a seq or a case with two clauses
where the second one is a failing clause; it can be moved outside the case and
further optimisations can be performed.
module 'foo' ['t'/4]
attributes []
't'/4 =
fun (_cor14,Sub0,_cor15,_cor16) ->
let Ssa = call 'erlang':'get' ('foo') in
case let Ssa = {'ssa',_cor14,Sub0,_cor15,_cor16} in
let _rec11 = call 'erlang':'+' (_cor14, 1) in
let _cor4 = call 'erlang':'setelement' (2, Ssa, _rec11) in
{{'tmp',_cor14},_cor4} of
{NewReg,Foo} when 'true' ->
{NewReg,Foo,Ssa}
_cor20 when 'true' ->
primop 'match_failure' ({'case_clause',_cor20})
end
end
==>
module 'foo' ['t'/4]
attributes []
't'/4 =
fun (_cor14,Sub0,_cor15,_cor16) ->
let Ssa = call 'erlang':'get' ('foo') in
let _fol0 = {'ssa',_cor14,Sub0,_cor15,_cor16} in
let _rec11 = call 'erlang':'+' (_cor14, 1) in
let _cor4 = call 'erlang':'setelement' (2, _fol0, _rec11) in
let NewReg = {'tmp',_cor14} in
{NewReg,_cor4,Ssa}
end
|
|
* josevalim/suppress-all-auto-imports:
Allow all auto imports to be suppressed at once
OTP-11682
|
|
* peppe/common_test/init_per_testcase_problem:
Fix problem with logging exits that happen in init_per_testcase
OTP-11643
|
|
* nox/debugger/erl_eval_SUITE/OTP-11676:
Truly test debugger in erl_eval_SUITE copy
|
|
|
|
|
|
|