aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-03-02Merge branch 'lukas/erts/ecio_arg_fix'Lukas Larsson
* lukas/erts/ecio_arg_fix: erts: Correctly ignore +secio true
2018-03-02erts: Correctly ignore +secio trueLukas Larsson
This is a fix for a bug introduced in 22cde2bda
2018-03-02Merge pull request #1734 from wojtekmach/wm-erl-tar-docs-typoLukas Larsson
Fix typo in erl_tar:format_error/1 docs
2018-03-02Merge branch 'maint'Dan Gudmundsson
* maint: Add updated type-spec to Emacs skeletons of OTP behaviours
2018-03-02Merge branch 'pr/1620' into maintDan Gudmundsson
* pr/1620: Add updated type-spec to Emacs skeletons of OTP behaviours
2018-03-02Merge pull request #1731 from bjorng/bjorn/compiler/beam_utilsBjörn Gustavsson
Fix beam_utils bugs that could cause problems in the future
2018-03-02Merge branch 'bjorn/compiler/try-catch-nesting'Björn Gustavsson
* bjorn/compiler/try-catch-nesting: Enhance beam_validator to check proper nesting of try/catch and catch
2018-03-02beam_type: Make sure to kill all dependencies when killing a registerBjörn Gustavsson
Make sure to kill all dependencies when a register is killed. For example, in the following code, when the type information for {x,0} is killed in the last instruction, there will still be type information for {x,1} referring to {x,0}: {get_tuple_element,{x,0},0,{x,1}}. {test,is_eq_exact,{f,5},[{x,1},{atom,tag}]}. {get_tuple_element,{x,0},1,{x,2}}. {get_tuple_element,{x,0},2,{x,0}}. This does not seems to have caused any problems in the past, but it may cause problems in the future with a register allocator that reuses register more aggressively.
2018-03-02beam_type: Refactor simplifications of instructionsBjörn Gustavsson
2018-03-02beam_type: Refactor updating of the type databaseBjörn Gustavsson
The function tdb_update/2 is problematic. It does not distinguish between assigning a register with a new value and updating information about a register that is used a as source in a test instruction. That was not a problem in practice when there were very few types, but bugs started to be noticed as more types were added. (For example, when a register was overwritten with a new value, the type for the old value stored in the same register could linger in some cases.) Introduce separate functions tdb_store/3 and tdb_meet/3 for assigning a new value to a register and for updating type information for a register referenced as as source, respectively. Also stricten verification of the types that gets stored into the type database.
2018-03-02beam_block: Fix unsafe sinking of get_tuple_element/3Björn Gustavsson
In the following code: {get_tuple_element,{x,0},0,{x,1}}. {put_tuple,2,{x,1}}. {put,{atom,badmap}}. {put,{x,0}}. {move,{x,1},{x,0}}. beam_block would move the get_tuple_element/3 instruction and eliminate the move/2 instruction: {put_tuple,2,{x,1}}. {put,{atom,badmap}}. {put,{x,0}}. {get_tuple_element,{x,0},0,{x,0}}. That is not correct, since the result of the tuple building in {x,1} is now ignored.
2018-03-02ssh: Fix the bugHans Nilsson
2018-03-02ssh: Extend testcase to check the bugHans Nilsson
2018-03-02Updated OTP versionOTP-18.3.4.8Erlang/OTP
2018-03-02Update release notesErlang/OTP
2018-03-02Update version numbersErlang/OTP
2018-03-02Merge branch 'hans/ssh/execfix18/OTP-14881' into maint-18Erlang/OTP
* hans/ssh/execfix18/OTP-14881: ssh: Fix cli ssh: Test for disabled shell
2018-03-02Add updated type-spec to Emacs skeletons of OTP behavioursHamidreza Soleimani
The changes are based on the latest versions of following modules and are also similar to gen_statem Emacs skeleton. Note that the gen_fsm is not updated because it is deprecated. application: * add/update type-spec for all callbacks * add start_phase/3 callback * add prep_stop/1 callback * add config_change/3 callback supervisor: * add/update type-spec for all callbacks supervisor_bridge: * add/update type-spec for all callbacks gen_server: * add/update type-spec for all callbacks * add format_status/2 callback gen_event: * add/update type-spec for all callbacks * add format_status/2 callback
2018-03-02Merge branch 'maint'Hans Nilsson
* maint: Updated OTP version Prepare release ssl: Prepare for release ssl: Backport PR-1709 ssh: Fix cli ssh: Test for disabled shell
2018-03-02Merge branch 'maint-19' into maintHans Nilsson
* maint-19: Updated OTP version Prepare release ssl: Prepare for release ssl: Backport PR-1709 ssh: Fix cli ssh: Test for disabled shell Conflicts: OTP_VERSION lib/ssh/doc/src/notes.xml lib/ssh/src/ssh.erl lib/ssh/vsn.mk lib/ssl/doc/src/notes.xml lib/ssl/vsn.mk otp_versions.table
2018-03-02Dialyzer suppress per_common:to_bitstring/2Raimo Niskanen
2018-03-02Merge branch 'maint'Hans Nilsson
* maint: ssh: Extend ssh_basic_SUITE:packet_size_zero to ...:packet_size Also got rid of some EXIT messages due to ssh_connection:shell/2 being async and ssh:close came too soon
2018-03-02Merge branch 'hans/ssh/cuddle_tests' into maintHans Nilsson
* hans/ssh/cuddle_tests: ssh: Extend ssh_basic_SUITE:packet_size_zero to ...:packet_size Also got rid of some EXIT messages due to ssh_connection:shell/2 being async and ssh:close came too soon
2018-03-02Merge branch 'maint'Hans Nilsson
* maint: ssh: Disable exec for non-default shell ssh: Test for disabled shell
2018-03-02Merge branch 'hans/ssh/execfix20/OTP-14881' into maintHans Nilsson
* hans/ssh/execfix20/OTP-14881: ssh: Disable exec for non-default shell ssh: Test for disabled shell
2018-03-02Merge branch 'maint'Lukas Larsson
2018-03-02Merge branch 'lukas/kernel/fix_os_cmd_max_size_win32/OTP-14940' into maintLukas Larsson
* lukas/kernel/fix_os_cmd_max_size_win32/OTP-14940: stdlib: Fix doc link in timer kernel: Fix handling of os:cmd option max_size in win
2018-03-02Merge branch 'maint'Dan Gudmundsson
* maint: Derive `erlang-shell-mode` properly from `comint-mode`
2018-03-02Derive `erlang-shell-mode` properly from `comint-mode`Tianxiang Xiong
2018-03-01Fix typo in erl_tar:format_error/1 docsWojtek Mach
2018-03-01ssh: Extend ssh_basic_SUITE:packet_size_zero to ...:packet_sizeHans Nilsson
Also got rid of some EXIT messages due to ssh_connection:shell/2 being async and ssh:close came too soon
2018-03-01Make efile_SUITE:iter_max_files more stableJohn Högberg
2018-03-01Merge branch 'maint'Dan Gudmundsson
* maint: emacs: delimiter first in icr works emacs: Indent delimiter first in term elements correctly emacs: Indent tuple (and maps) elements as list elements Add emacs indention testcase
2018-03-01Merge branch 'dgud/tools/emacs/indent-tests' into maintDan Gudmundsson
* dgud/tools/emacs/indent-tests: emacs: delimiter first in icr works emacs: Indent delimiter first in term elements correctly emacs: Indent tuple (and maps) elements as list elements Add emacs indention testcase OTP-14944
2018-03-01emacs: delimiter first in icr worksDan Gudmundsson
2018-03-01emacs: Indent delimiter first in term elements correctlyDan Gudmundsson
2018-03-01emacs: Indent tuple (and maps) elements as list elementsDan Gudmundsson
Avoid From: { ^^element1, ^^element2 } To: { ^element1, ^element2 }
2018-03-01Add emacs indention testcaseDan Gudmundsson
Split the manual testcase and run them in daily tests instead. Easy to run directly as well: (cd ../test; cerl -eval "emacs_SUITE:indent([])")
2018-03-01Merge branch 'maint'Dan Gudmundsson
* maint: ERL-558 Add the missing function clause for string:prefix (#1702)
2018-03-01ERL-558 Add the missing function clause for string:prefix (#1702)Seyed Mirsadeghi
OTP-14942
2018-03-01beam_utils: Correct the liveness calulcations in live_opt/1Björn Gustavsson
live_opt_block/4 could overestimate the number of live registers for a GC BIF and trigger an assertion. This does not seem to be a problem when generating code using v3_codegen, but only when using a new experimental code generator, therefore there is no need include this correction in maint.
2018-03-01beam_utils: Correct is_killed/3, is_killed_at/3, is_used/3Björn Gustavsson
is_killed/3 and is_killed_at/3 could return 'true' even if the register was referenced by an allocation instruction. Somehow, that does not seem to have caused any problems yet.
2018-03-01Enhance beam_validator to check proper nesting of try/catch and catchBjörn Gustavsson
Every catch or try/catch must use a lower Y register number than any enclosing catch or try/catch. That will ensure that when the stack is scanned when an exception occurs, the innermost try/catch tag is found first.
2018-03-01Merge branch 'maint'Siri Hansen
2018-03-01Merge branch 'siri/cuddle' into maintSiri Hansen
* siri/cuddle: [cdv] Fix test of size limit reached on crash dump, again
2018-03-01Merge PR-1718 from michalmuskala/hipe-inline-bifs OTP-14941Sverker Eriksson
Inline more type test BIFs in HiPE
2018-03-01stdlib: Fix doc link in timerLukas Larsson
2018-03-01kernel: Fix handling of os:cmd option max_size in winLukas Larsson
2018-03-01Merge branch 'maint'Hans Nilsson
* maint: ssh: Insert missing ssh:stop() etc in test suites ssh: Fix acceptor sup testcase ssh: Fix cli testcase ssh: Misspelling in test suite ssh: Clearify links in ssh_sftp:read_file_info/2 ssh: Put common user_dir setup in ssh_options_SUITE:init_per_testcases/2
2018-03-01Merge branch 'hans/ssh/cuddle_doc' into maintHans Nilsson
* hans/ssh/cuddle_doc: ssh: Clearify links in ssh_sftp:read_file_info/2