aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-02-12Fix a few of Dialyzer's unmatched_return warningsHans Bolinder
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-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-11Merge branch 'larsr/distclean'Henrik Nord
* larsr/distclean: make clean should not remove SKIP files OTP-11683
2014-02-11make clean should not remove SKIP fileslarsr
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.
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-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-10Merge branch 'maint'Ingela Anderton Andin
2014-02-10Merge branch 'maint-r16' into maintIngela Anderton Andin
2014-02-10Merge branch 'maint-r15' into maint-r16Ingela Anderton Andin
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-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
2014-02-07Merge branch 'nox/eep37/OTP-11537'Björn Gustavsson
* nox/eep37/OTP-11537: Support named funs in erl_prettypr
2014-02-07Merge branch 'vladdu/debugger/fixes'Björn Gustavsson
* vladdu/debugger/fixes: remove warning for variable exported from case remove useless match remove unused parameter
2014-02-07Merge branch 'hsv/using_lists_droplast'Henrik Nord
* hsv/using_lists_droplast: lib/mnesia/test/ - Replace reverse(tl(reverse(L))) with lists:droplast/1 lib/ssh - Replace reverse(tl(reverse(L))) with lists:droplast/1 lib/wx - Replace reverse(tl(reverse(L))) with lists:droplast/1 Use lists:droplast/1 in orber/orber_interceptors.erl Import and use lists:droplast/1 in v3_core/v3_kernel OTP-11678 OTP-11677
2014-02-07Merge branch 'hsv/add_droplast_to_lists'Henrik Nord
* hsv/add_droplast_to_lists: Added documentation of lists:droplast/1 Added tests for lists:droplast/1 to stdlib/lists_SUITE stdlib/lists: Add function droplast/1 This functions drops the last element of a non-empty list.
2014-02-07Merge branch 'egil/erts/fix-maps-beam_load'Björn-Egil Dahlberg
* egil/erts/fix-maps-beam_load: compiler: Update map_SUITE with error case test erts: Maps must fail on exact updates of empty Maps erts: Fix Maps for beam_load
2014-02-07compiler: Update map_SUITE with error case testBjörn-Egil Dahlberg
M#{ key := V } should fail when M is not a Map
2014-02-07erts: Maps must fail on exact updates of empty MapsBjörn-Egil Dahlberg
Exact updates on empty Maps must fail directly.
2014-02-07Merge branch 'kostis/dialyzer-r17c0-fixes'Henrik Nord
* kostis/dialyzer-r17c0-fixes: Shut off a dialyzer unmatched return warning Add a spec for a function that does not return
2014-02-07Merge branch 'ia/ssl/unicode-adapt'Ingela Anderton Andin
* ia/ssl/unicode-adapt: ssl: Unicode adaptions
2014-02-07Merge branch 'hb/doc/release_name'Hans Bolinder
* hb/doc/release_name: Make the references to various Erlang/OTP releases verbose
2014-02-07Merge branch 'hb/dialyzer/fix_app_file'Hans Bolinder
* hb/dialyzer/fix_app_file: Add app-test and correct dialyzer.app.src
2014-02-06public_key(3): fix private_key/0 type definitionTuncer Ayaz
2014-02-06Merge branch 'bjorn/erts/zlib-1.2.8/OTP-11669'Björn Gustavsson
* bjorn/erts/zlib-1.2.8/OTP-11669: gzio.c: Remove unnecessary usage of the OF() macro
2014-02-06Make the references to various Erlang/OTP releases verboseHans Bolinder
2014-02-06public_key: Export some dialyzer typesIngela Anderton Andin
Move dilayzer types from include file to erl file and use -export_type
2014-02-06Add app-test and correct dialyzer.app.srcHans Bolinder
2014-02-06Merge branch 'nox/maps-absform'Björn-Egil Dahlberg
* nox/maps-absform: Document maps-related abstract syntax trees
2014-02-06Merge branch 'nox/debugger/maps-support/OTP-11673'Björn-Egil Dahlberg
* nox/debugger/maps-support/OTP-11673: debugger: Fix release_tests Support maps in the debugger
2014-02-06debugger: Fix release_testsBjörn-Egil Dahlberg
2014-02-06Update primary bootstrapBjörn Gustavsson
2014-02-06Merge branch 'bjorn/compiler/applying-binary-crash/OTP-11672'Björn Gustavsson
* bjorn/compiler/applying-binary-crash/OTP-11672: beam_bsm: Eliminate emulator crash when a binary is called beam_validator: Validate the "fun" argument for a call_fun/1 instruction
2014-02-06Merge branch 'bjorn/compiler/optimizations/OTP-11584'Björn Gustavsson
* bjorn/compiler/optimizations/OTP-11584: sys_core_fold: Prevent case expressions from being evaluated twice sys_core_fold_SUITE: For cleanliness, move id/1 to the end
2014-02-06ssl: Unicode adaptionsIngela Anderton Andin
2014-02-05erts: Fix Maps for beam_loadBjörn-Egil Dahlberg
Map source may be anything, not only registers.