aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2016-05-09Merge branch 'egil/et/fix-trace-tags/OTP-13545'Björn-Egil Dahlberg
* egil/et/fix-trace-tags/OTP-13545: et: Update runtime dependencies et: Update gc trace tags in selector et: Remove unnecessary boilerplate in tests
2016-05-09Merge branch 'egil/runtime_tools/fix-runtime-deps'Björn-Egil Dahlberg
* egil/runtime_tools/fix-runtime-deps: runtime_tools: Update runtime deps
2016-05-09Merge branch 'ingela/inets/next-version'Ingela Anderton Andin
* ingela/inets/next-version: inets: Prepare for release Conflicts: lib/inets/vsn.mk
2016-05-09Merge branch 'hans/ssh/cuddle_tests'Hans Nilsson
2016-05-09Merge branch 'ingela/ssl/prepare-for-release'Ingela Anderton Andin
* ingela/ssl/prepare-for-release: ssl: Prepare for release Conflicts: lib/ssl/vsn.mk
2016-05-09Merge branch 'dgud/wx/compatible-with-wxW-3.1'Dan Gudmundsson
* dgud/wx/compatible-with-wxW-3.1: Test cuddle, increase sleep wx: Fix warnings in example Fix argv types wx: Remove non implemented wxGauge functions
2016-05-09Merge branch 'dgud/observer/fixbugs'Dan Gudmundsson
* dgud/observer/fixbugs: Fix left column text width observer: Remove ignored alignment flag observer: Fix timing issue Observer: do not create PaintDC outside of paint callbacks observer: Reduce flicker in table info on windows
2016-05-09Merge branch 'kennethlakin/tls-use-negotiated-prf/PR-1042/OTP-13546'Ingela Anderton Andin
* kennethlakin/tls-use-negotiated-prf/PR-1042/OTP-13546: ssl: Use cipher suite's PRF in prf/5
2016-05-09Merge branch 'ingela/ssl/memory-foot-print'Ingela Anderton Andin
* ingela/ssl/memory-foot-print: ssl: Add reinitialization of handshake data lost in gen_statem refactorization
2016-05-09syntax_tools: Add support for new map type syntaxHans Bolinder
The pretty-printing of `...' in map types is complex. The representation of `...' can be changed before OTP 19.
2016-05-09syntax_tools: Correct types and specsHans Bolinder
2016-05-09edoc: Make EDoc work with typed record fieldsHans Bolinder
2016-05-09compiler: Let module_info(attributes) skip more attributesHans Bolinder
'callback' and 'optional_callbacks' are no longer wild attributes.
2016-05-09syntax_tools: Add tests for types and specsHans Bolinder
2016-05-09syntax_tools: Update igor to handle typed recordsHans Bolinder
2016-05-09syntax_tools: Add support for types and specsHans Bolinder
In particular, types and specs can be pretty-printed. There are issues with macros (left behind by epp_dodger). Typed record fields are handled. Fields are represented by triples instead of two-tuples, which is an incompatible change. Some attributes (-export_type, -spec, -type, &c) have been given meaning in recent time, but the set of wild attributes (see Barklund's spec) is not changed.
2016-05-09syntax_tools: Fix pretty-printing of the \x{...} syntaxHans Bolinder
2016-05-09Merge branch 'bjorn/stdlib/warning-and-error/OTP-13476'Björn Gustavsson
* bjorn/stdlib/warning-and-error/OTP-13476: Add documentation epp: Add the -error and -warning directives epp: Refactor expansion of header path
2016-05-05ssl: Add reinitialization of handshake data lost in gen_statem refactorizationIngela Anderton Andin
2016-05-05ssl: Use cipher suite's PRF in prf/5Kenneth Lakin
Use the negotiated cipher suite's PRF algorithm in calls to ssl:prf/5, rather than a hard-coded one. For TLS 1.0 the PRF algorithm was hard-coded to MD5/SHA1. This was correct 100% of the time. For TLS 1.1 and 1.2 the PRF algorithm was hard-coded to SHA256. This was correct only some of the time for TLS 1.2 and none of the time for TLS 1.1. Because the TLS handshake code calls tls_v1:prf/5 through another path, the handshaking process used the negotiated PRF and did not encounter this bug. A new test (prf) has been added to ssl_basic_SUITE to guard against future breakage.
2016-05-04runtime_tools: Update runtime depsBjörn-Egil Dahlberg
2016-05-04ssh: correct bad stop return value tagHans Nilsson
2016-05-04syntax_tools: Update runtime dependenciesHans Bolinder
2016-05-04dialyzer: Update runtime dependenciesHans Bolinder
2016-05-04Merge branch 'bjorn/fix-on_load/OTP-12593'Björn Gustavsson
* bjorn/fix-on_load/OTP-12593: Update documentation regarding improvements Correctly handle multiple load attempts when on_load is pending Avoid deadlock when an on_load function makes an external call to the module itself code_server: Eliminate unnecessary Tag in handle_call/3 Reimplement -on_load() Refactor erts_finish_loading() and insert_new_code() code_SUITE: Make on_load_binary/1 clearer by using merl
2016-05-04Merge branch 'hans/ssh/cuddle_tests'Hans Nilsson
2016-05-04Merge branch 'raimo/polish-gen_statem/OTP-13065'Raimo Niskanen
* raimo/polish-gen_statem/OTP-13065: Fix documentation Clean up terminate functions Fix callback mode after code change not used Restructure loop_* to clarify S handling
2016-05-04Fix documentationRaimo Niskanen
2016-05-04Fix left column text widthDan Gudmundsson
Add extra space for ":" which is not accounted for size calculation.
2016-05-04Merge branch 'vladdu/jinterface_pom/ERL-67/PR-1005/OTP-13482'Henrik Nord
* vladdu/jinterface_pom/ERL-67/PR-1005/OTP-13482: jinterface: updated pom.xml.src
2016-05-04observer: Remove ignored alignment flagDan Gudmundsson
Causes error reports on wxWidgets-3.1 backend
2016-05-04observer: Fix timing issueDan Gudmundsson
Could crash if interval was updated before node was set.
2016-05-04Observer: do not create PaintDC outside of paint callbacksDan Gudmundsson
Bug introduced in bde2d01506a63, does work on linux but not on the other OS's.
2016-05-04observer: Reduce flicker in table info on windowsDan Gudmundsson
Memory table was flickering badly on Windows, caused by constant refresh sent. Solve by letting the graphs have it's own parent. wxWindow:setDoubleBuffer could help but causes an empty table with the current version of wxWidgets backend.
2016-05-04epp: Add the -error and -warning directivesBjörn Gustavsson
If one of several alternatives configurations are required for an Erlang module to compile, but none are available, it would be useful to give a nice error message. For example: -ifdef(CONFIG_A). %% Some code if A is true. -else. -ifdef(CONFIG_B). %% Some code if B is true. -else. -error("Neither CONFIG_A nor CONFIG_B are available"). -endif. -endif. If neither CONFIG_A nor CONFIG_B are defined, the error message will be: module.erl:10: -error("Neither CONFIG_A nor CONFIG_B are available"). That is basically the same behavior as for the #error directive in GCC. For symmetry with the -error directive, add the -warning directive to generate a compiler warning. For example: -ifdef(HAVE_COOL_FEATURE). %% Code if we have Cool Feature. -else. %% Inefficient fallback code. -warning("Using inefficient fallback"). -endif. If HAVE_COOL_FEATURE is not defined, the warning message will be: module.erl:8: Warning: -warning("Using inefficient fallback"). That is basically the same behavior as for the #warning directive in GCC. Conflicts: lib/stdlib/src/epp.erl lib/stdlib/test/epp_SUITE.erl
2016-05-04epp: Refactor expansion of header pathBjörn Gustavsson
scan_include_lib/4 uses a helper function find_lib_dir/1, which has a strange interface. It takes a string and returns a tuple. The caller must match the tuple and call fname_join/1 to obtain the desired result. I assume that the strange interface was not noticed because the function is only used in one place. Replace the find_lib_dir/1 with a new expand_lib_dir/1 function which does the entire job in one go. The new function is much easier to reuse in other places, which we might want to do in a future commit.
2016-05-04hipe: Use maps for unification and substitutionHans Bolinder
2016-05-04dialyzer: Use maps instead of dictHans Bolinder
Optimization: A few dictionaries are maps instead of dicts.
2016-05-04dialyzer: Optimize the evaluation of SCC:s in module typesigHans Bolinder
The evaluation of a single SCC has been optimized. The parallelism when evaluating a single SCC has been removed.
2016-05-04Merge branch 'maint-18'Henrik Nord
Conflicts: OTP_VERSION lib/common_test/test/ct_hooks_SUITE_data/cth/tests/ct_update_config_SUITE.erl lib/common_test/vsn.mk
2016-05-04et: Update runtime dependenciesBjörn-Egil Dahlberg
2016-05-04et: Update gc trace tags in selectorBjörn-Egil Dahlberg
2016-05-04et: Remove unnecessary boilerplate in testsBjörn-Egil Dahlberg
2016-05-04Merge branch 'ingela/ssl-gen-statem/OTP-13464'Ingela Anderton Andin
* ingela/ssl-gen-statem/OTP-13464: ssl: Adapt DTLS to gen_statem ssl: Use gen_statem instead of gen_fsm
2016-05-04Merge branch 'ingela/ssl_verify_SUITE/cuddle'Ingela Anderton Andin
* ingela/ssl_verify_SUITE/cuddle: ssl: Correct and clean test suite
2016-05-04ssl: Correct and clean test suiteIngela Anderton Andin
Active option was not handled correctly in all places. Dead code has been removed.
2016-05-04Test cuddle, increase sleepDan Gudmundsson
To avoid failing on slow machines
2016-05-04Correctly handle multiple load attempts when on_load is pendingBjörn Gustavsson
If an on_load function had not yet returned, the code server would only correctly handle calls to code:ensure_loaded/1. That is, each process that called code:ensured_loaded/1 for the module in question would be suspended until the on_load function had returned. The code server handled calls to code:load_binary/1, code:load_file/1, and code:load_abs/1 in the same way as for code:ensure_loaded/1. That means that if call to one those functions attempted to load *different* code for the module, that code would not get loaded. Note that code:finish_loading/1 (code:atomic_load/1) will still return {error,pending_on_load} if there is a pending on_load function for one of the modules that are about to be loaded. The reason is that code:finish_loading/1 is meant to either succeed directly, or fail quickly if there is any problem.
2016-05-04Avoid deadlock when an on_load function makes an external call to the module ↵Björn Gustavsson
itself
2016-05-04code_server: Eliminate unnecessary Tag in handle_call/3Björn Gustavsson
For historical reasons, the second argument in handle_call/3 is {Pid,Tag}. The tag is always 'call' and is never used.