aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-04-28dialyzer_dataflow: Add map supportMagnus Lång
2016-04-28dialyzer_typesig: Add map supportMagnus Lång
2016-04-28Enhance map specs in erts, stdlib, runtime_toolsMagnus Lång
Using the new type syntax, we can specify which keys are required, and which are optional in a way Dialyzer could use.
2016-04-28Update primary bootstrapHans Bolinder
2016-04-28erl_parse: Add parsing for new map type syntaxMagnus Lång
erl_types typesets mandatory keys with :=, and uses "..." as a shorthand for "any() => any()". Add these to erl_parse so that all representable types can be written in type-specs.
2016-04-28erl_bif_types: Add a selection of maps BIFsMagnus Lång
* maps:from_list/1 * maps:get/2 * maps:is_key/2 * maps:merge/2 * maps:put/3 * maps:size/1 * maps:to_list/1 * maps:update/3
2016-04-28erl_types: Add a map type representationMagnus Lång
The type of a map is represented as a three-tuple {Pairs, DefaultKey, DefaultValue}. DefaultKey and DefaultValue are types. Pairs is a list of three-tuples {Key, mandatory | optional, Value}, where Key and Value are types. All types Key must be singleton, or "known at compile time," as the EEP put it. Examples: #{integer()=>list()} {[], integer(), list()} #{a=>char(), b=>atom()} {[{a, optional, char()}, {b, optional, atom()}], none(), none()} map() {[], any(), any()} A more formal description of the representation and its invariants can be found in erl_types.erl Special thanks to Daniel S. McCain (@dsmccain) that co-authored a very early version of this with me back in April 2014, although only the singleton type logic remains from that version.
2016-04-28Make the nodelay setting configurable and false per defaultPeter Andersson
2016-04-28Slightly optimize core_ppBjörn Gustavsson
2016-04-28v3_core: Don't depend on sys_core_fold for cleaning upBjörn Gustavsson
v3_core would generate unsafe code for the following example: f() -> {ok={error,E}} = foo(), E. Internally, the code would look similar to: f() -> Var = foo(), error({badmatch,Var}), E. That is, there would remain a reference to an unbound variable. Normally, sys_core_fold would remove the reference to 'E', but if if optimization was disabled the compiler would crash.
2016-04-28Merge branch 'egil/maps-api-additions/PR-1025/OTP-13522'Björn-Egil Dahlberg
* egil/maps-api-additions/PR-1025/OTP-13522: stdlib: Document maps:update_with/3,4 stdlib: Add tests for maps:update_with/3,4 stdlib: Add maps:update_with/3,4 erts: Add tests for maps:take/2 stdlib: Document maps:take/2 erts: Add BIF maps:take/2
2016-04-28Clean up terminate functionsRaimo Niskanen
2016-04-28erts: Rename erl flag +xmqd to +hmqd in erlexecLukas Larsson
2016-04-28ssh: wait until supervisors has understood that process died. (test case)Hans Nilsson
2016-04-28ssh: remove brain-dead ssh_test_lib:connect without port argHans Nilsson
2016-04-28ssh: polish max_channels_option test caseHans Nilsson
Removed pty alloc from the test since it does not work on all test targets. Also added a final check that the upper limit of channels still holds.
2016-04-28ssh: Repeated try until ssh_options_SUITE:max_sessions succedes (or timeout)Hans Nilsson
The supervisor tree need some time to count down number of workers when one dies. With a fixed waiting time in the test, there will be spurious errors. There will also be unnecessarily long waits on some machines.
2016-04-28ssh: Speeded up ssh_options_SUITE a couple of minutesHans Nilsson
2016-04-28Merge branch 'bjorn/compiler/cuddle-with-tests'Björn Gustavsson
* bjorn/compiler/cuddle-with-tests: compilation_SUITE: Use explicit exports Remove support for running tests on a separate Erlang node Move code from compilation_SUITE to beam_block_SUITE Move list comprehension tests to lc_SUITE Move catch tests to trycatch_SUITE Remove compilation_SUITE:long_string/1 Move pattern-matching tests to match_SUITE Remove toothless test compile_SUITE:missing_testheap/1 misc_SUITE: Add missing export of integer_encoding/0 Move test cases from compilation_SUITE to beam_utils_SUITE Move complex_guard/1 from compilation_SUITE to guard_SUITE Remove compilation_SUITE:guards/1 Move tests from compilation_SUITE to record_SUITE Move bit syntax test cases from compilation_SUITE to bs_match_SUITE Remove useless test case compilation_SUITE:otp_2141/1 compilation_SUITE: Run the Core linter for all compilations
2016-04-28ssh: Update app-fileHans Nilsson
2016-04-28ssh: Update versionHans Nilsson
2016-04-28wx: Remove non implemented wxGauge functionsDan Gudmundsson
These functions have been removed from wxWidgets-3.1 and according to documentation have been noops anyway. So remove them to make wx build with wxWidgets-3.1 if wxWidgets is compiled with --enable-compat28
2016-04-27Avoid disappearing ETS tables in ssl_dist_SUITEMagnus Henoch
When recording the fact that a verify function ran, spawn a new process to own the ETS table, to ensure that it's still there when we want to query it.
2016-04-27Fix db handle for TLS distribution crl_cache optsMagnus Henoch
'internal' is reserved for the ssl_crl_cache module. Since the stub CRL cache implementation in the test module essentially uses the file system as its "database", let's pass the directory as database handle.
2016-04-27Fix ssl_dist_SUITE logging on WindowsMagnus Henoch
Can't use single quotes to hide double quotes. Let's fix that with more backslashes.
2016-04-27stdlib: Document maps:update_with/3,4Björn-Egil Dahlberg
2016-04-27stdlib: Add tests for maps:update_with/3,4Björn-Egil Dahlberg
2016-04-27stdlib: Add maps:update_with/3,4Björn-Egil Dahlberg
Maps equivalent to dict:update/3,4
2016-04-27erts: Add tests for maps:take/2Björn-Egil Dahlberg
2016-04-27stdlib: Document maps:take/2Björn-Egil Dahlberg
2016-04-27compilation_SUITE: Use explicit exportsBjörn Gustavsson
With 'export_all' it is easy to add a new test case function and forget to add its name to the list of test cases to run. While we are it, remove unused functions and add the forgotten test case on_load_inline/1.
2016-04-27Remove support for running tests on a separate Erlang nodeBjörn Gustavsson
It has not been used for ages.
2016-04-27Move code from compilation_SUITE to beam_block_SUITEBjörn Gustavsson
2016-04-27Move list comprehension tests to lc_SUITEBjörn Gustavsson
2016-04-27Move catch tests to trycatch_SUITEBjörn Gustavsson
2016-04-27Remove compilation_SUITE:long_string/1Björn Gustavsson
long_string/1 was written to test that long string were handled efficiently in beam_asm. Strings used to be stored in the string table chunk, but are currently literals. There does not seem that this test case is likely to find any bugs.
2016-04-27Move pattern-matching tests to match_SUITEBjörn Gustavsson
2016-04-27Remove toothless test compile_SUITE:missing_testheap/1Björn Gustavsson
missing_testheap/1 is no longer relevant for the following reasons: 1) Because of the literal pool introduced in R12, no test_heap instructions are needed in the guards. 2) beam_validator would abort the compilation if any needed test_heap instructions were missing.
2016-04-27misc_SUITE: Add missing export of integer_encoding/0Björn Gustavsson
The integer_encoding/1 test is supposed to be run with a tighter timetrap ensure that encoding of integer in BEAM files is efficient enough.
2016-04-27Move test cases from compilation_SUITE to beam_utils_SUITEBjörn Gustavsson
beam_utils_SUITE didn't exist when the two test cases were written.
2016-04-27Merge branch 'xumingthepoet/maint/PR-1008/OTP-13516'Zandra
* xumingthepoet/maint/PR-1008/OTP-13516: Update global_group_SUITE.erl Fix global_group.erl
2016-04-27Fix callback mode after code change not usedRaimo Niskanen
2016-04-27ssh: Channel request timer refactoringHans Nilsson
2016-04-27ssh: Idle-timer refactoring and some cosmetics and inlineingHans Nilsson
2016-04-27ssh: remove user_passwords from dumped stateHans Nilsson
2016-04-27ssh: fix dialyzer warnings and errorsHans Nilsson
2016-04-27ssh: Partly refactor and polish ssh_connection_handlerHans Nilsson
2016-04-27ssh: change #state to #dataHans Nilsson
2016-04-27ssh: refactor connection handler initializationHans Nilsson
2016-04-27ssh: Begin -spec for ssh_connection_handlerHans Nilsson