aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2014-02-20Speed up bs_construct_SUITE:dynamic/1Björn Gustavsson
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.
2014-02-14Merge branch 'bjorn/asn1/fix-enum-bug/OTP-11700'Björn Gustavsson
* bjorn/asn1/fix-enum-bug/OTP-11700: Correct subtyping of extensible ENUMERATED
2014-02-14Merge branch 'kostis/beam_validator-minor-fix'Björn Gustavsson
* kostis/beam_validator-minor-fix: Change a list comprehension to a foreach/2 call
2014-02-14Merge branch 'dgud/misc-cleanup'Dan Gudmundsson
* 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
2014-02-14Merge branch 'dgud/wx/fix-cb-cleanup/OTP-11699'Dan Gudmundsson
* 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
2014-02-13ssh: Changed order of decode clauses to temp fix decode errorHans Nilsson
2014-02-13ssh: Fixes memory crashHans Nilsson
2014-02-13wx: Test fixes compilation warningDan Gudmundsson
and more dbg info
2014-02-13wx: Do not warn for our own deprecated functionsDan Gudmundsson
2014-02-13wx: Rewrite eventhandling againDan Gudmundsson
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.
2014-02-13Correct subtyping of extensible ENUMERATEDBjörn Gustavsson
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
2014-02-13Change a list comprehension to a foreach/2 callKostis Sagonas
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.
2014-02-13Merge branch 'bjorn/lc-warnings/OTP-11626' (early part)Björn Gustavsson
* 'bjorn/lc-warnings/OTP-11626' (early part): v3_core: Annotate list comprehensions to help out dialyzer
2014-02-13Merge branch 'nox/compiler/v3_core-case-arg-opt'Björn Gustavsson
* nox/compiler/v3_core-case-arg-opt: Optimise case arguments in sys_core_fold Run sys_core_fold twice if any inliner is used
2014-02-13Merge branch 'bjorn/tools/cover/OTP-11692'Björn Gustavsson
* 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
2014-02-13Merge branch 'bjorn/otp_build-small-system'Björn Gustavsson
* bjorn/otp_build-small-system: otp_build: Include parsetools in the release of a small system
2014-02-13cover: Use lists:reverse/1 instead of the home-brewn reverse functionBjörn Gustavsson
2014-02-13cover: Remove support for ancient formats of abstract codeBjörn Gustavsson
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.
2014-02-13cover_SUITE: Run part of the test suite when cover is runningBjörn Gustavsson
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.
2014-02-13test_server: Allow cover to run on itselfBjörn Gustavsson
2014-02-13Merge branch 'hb/fix_unmatched_returns'Hans Bolinder
* hb/fix_unmatched_returns: Fix a few of Dialyzer's unmatched_return warnings
2014-02-12Fix a few of Dialyzer's unmatched_return warningsHans Bolinder
2014-02-12[stdlib] Remove a confusing comment in the re moduleHans Bolinder
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.
2014-02-12otp_build: Include parsetools in the release of a small systemBjörn Gustavsson
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.
2014-02-12dbg: Remove debug printouts and fix file dialogDan Gudmundsson
Use default positions when open windows. Remove io:formats() for unhandled events. Fix file dialog completion window which didn't invoke refrash
2014-02-12sasl: Fix testcase which didn't work on windowsDan Gudmundsson
Quoting on Windows is strange
2014-02-12gs: Minor doc fix, gs is deprecatedDan Gudmundsson
2014-02-12Merge branch 'bjorn/compiler/optimizations/OTP-11584'Björn Gustavsson
* 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
2014-02-12Merge branch 'nox/maps-erl_prettypr'Björn-Egil Dahlberg
* nox/maps-erl_prettypr: stdlib: Add tests for Maps in erl_prettypr Support maps in erl_prettypr
2014-02-12Merge branch 'nox/maps-improve-erl_eval'Björn-Egil Dahlberg
* nox/maps-improve-erl_eval: Handle map fields in their own function in erl_eval
2014-02-11cover: Support running cover on itselfBjörn Gustavsson
We want to see at least some coverage of cover itself.
2014-02-11Merge branch 'tuncer/fix-public_key-specs'Henrik Nord
* tuncer/fix-public_key-specs: public_key(3): fix private_key/0 type definition OTP-11627
2014-02-11Merge branch 'fenollp/shell-expand-0arity-completely'Henrik Nord
* fenollp/shell-expand-0arity-completely: Shell: expand 0-arity functions all the way to closing parenthesis OTP-11684
2014-02-11Teach sys_core_fold:eval_case/2 to cope with handwritten Core ErlangBjörn Gustavsson
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
2014-02-11sys_core_fold: Remove a redundant word in a commentBjörn Gustavsson
2014-02-11Optimise case arguments in sys_core_foldAnthony 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
2014-02-10Merge branch 'josevalim/suppress-all-auto-imports'Henrik Nord
* josevalim/suppress-all-auto-imports: Allow all auto imports to be suppressed at once OTP-11682
2014-02-10Merge branch 'peppe/common_test/init_per_testcase_problem'Peter Andersson
* peppe/common_test/init_per_testcase_problem: Fix problem with logging exits that happen in init_per_testcase OTP-11643
2014-02-10Merge branch 'nox/debugger/erl_eval_SUITE/OTP-11676'Björn Gustavsson
* nox/debugger/erl_eval_SUITE/OTP-11676: Truly test debugger in erl_eval_SUITE copy
2014-02-10Truly test debugger in erl_eval_SUITE copyAnthony Ramine
The module was not interpreted. This surfaced two bugs, related to shadowed variables in binary patterns in comprehension generators, and guard filters not properly detected. The guard detection code from dbg_iload is deleted in favor of erl_lint:is_guard_test/1. The erl_lint module is now safe to use because it can handle all expressions emitted by sys_pre_expand, the following warning is thus obsolete and has been removed from code: %% Cannot use erl_lint here as sys_pre_expand has transformed source.
2014-02-10Merge branch 'egil/compiler/maps-fix-sys_core_fold'Björn-Egil Dahlberg
* egil/compiler/maps-fix-sys_core_fold: compiler: Fix sys_core_fold let optimization compiler: Add debug listing after sys_core_fold
2014-02-10Merge branch 'egil/compiler/maps-fix-codegen'Björn-Egil Dahlberg
* egil/compiler/maps-fix-codegen: compiler: Fix codegen multiple updates for Maps erts,compiler: Correct and amend tests for Maps
2014-02-10Merge branch 'ia/public_key/specs'Ingela Anderton Andin
* ia/public_key/specs: public_key: Export some dialyzer types
2014-02-07compiler: Fix sys_core_fold let optimizationBjörn-Egil Dahlberg
Map variable was not covered and faulty optimization could occur. Ex. t() -> M0 = id(#{ "a" => 1 }), #{ "a" := _ } = M0, M0#{ "a" := b }. M0 was lost in let expression optimization.
2014-02-07compiler: Add debug listing after sys_core_foldBjörn-Egil Dahlberg
2014-02-07Run sys_core_fold twice if any inliner is usedAnthony Ramine
2014-02-07compiler: Fix codegen multiple updates for MapsBjörn-Egil Dahlberg
This fixes an error on multiple updates optimization for map pairs. The error was introduced with moving to term order in Maps. This also fixes an error where register life time was lost for values and could result in erroneuos values being emitted in for map pairs. Simplified v3_codegen by moving multiple update optimizations to v3_kernel.
2014-02-07erts,compiler: Correct and amend tests for MapsBjörn-Egil Dahlberg
Faulty test for maps update
2014-02-07Fix problem with logging exits that happen in init_per_testcasePeter Andersson
2014-02-07Merge branch 'nox/tools/cover-record-update'Björn Gustavsson
* nox/tools/cover-record-update: Properly munge record updates in cover Don't munge record and field names in cover