aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2015-05-22Include Merl in Syntax ToolsRichard Carlsson
2015-05-22Merge branch 'egil/fix-hipe_libs'Björn-Egil Dahlberg
* egil/fix-hipe_libs: stdlib: Relax maps test suite for HiPE
2015-05-22Merge branch 'richcarl/ac_tab-concurrency'Henrik Nord
* richcarl/ac_tab-concurrency: Use read_concurrency for application environment
2015-05-22Merge branch 'egil/fix-compiler-beam_bsm/OTP-12758'Björn-Egil Dahlberg
* egil/fix-compiler-beam_bsm/OTP-12758: compiler: Add tests for beam_bsm get_map_elements compiler: Teach beam_bsm get_map_elements instruction
2015-05-22code: Eliminate dialyzer warnings for unmatched returnsBjörn Gustavsson
We want to have the core applications of Erlang/OTP free from any dialyzer warnings. Eliminate the warnings for unmatched returns that were introduced in 7309ff4c3832.
2015-05-22stdlib: Relax erl_anno_SUITE:is_anno/1 testBjörn-Egil Dahlberg
Due to the relaxation of erl_anno:is_string/1, the test false = erl_anno:is_anno([{location,1},{text,[a,b,c]}]), is no longer valid.
2015-05-22Fix parsing of IPv6 addresses to limit leading zerosRory Byrne
The current implementations of inet:parse_ipv6_address/1 and inet:parse_ipv6strict_address/1 permit address strings which have an unlimited number of leading zeros. Addresses such as: "0000000000000000000000000000000ffff::" "::00000000000000000000000000000000000000000000000000000000" "::0000000f435:1" If we are using this facility to validate string representations of IPv6 addresses, then we would end up validating addresses which are non-conformant (with respect to RFC 4291 section 2.2) and potentially dangerous. This patch ensures that each segment of an IPv6 address has a maximum of 4 hex digits.
2015-05-22Merge branch 'bjorn/stdlib/erl_lint'Björn Gustavsson
* bjorn/stdlib/erl_lint: Remove final (?) vestiges of support for parameterized modules
2015-05-22Merge branch 'richcarl/md5-fixes'Björn Gustavsson
* richcarl/md5-fixes: code: Correct type spec for code:make_stub_module/3
2015-05-22Merge branch 'bjorn/compiler/runtime-dependencies'Björn Gustavsson
* bjorn/compiler/runtime-dependencies: Don't make 'compiler' dependent on 'tools' Update runtime depencies for the compiler application
2015-05-22Merge branch 'ia/ssl/SNI-cuddle'Ingela Anderton Andin
* ia/ssl/SNI-cuddle: ssl: Make test case timing independent ssl: Use new API function connection_information in tests ssl: Increase readability ssl: Add cleanup to tests
2015-05-22Merge branch 'dgud/wx/raise-during-stop/OTP-12734'Dan Gudmundsson
* dgud/wx/raise-during-stop/OTP-12734: wx: Fix raise during emulator stoppage
2015-05-22Only annotate forms when linting in the compilerJosé Valim
A lot of time spent on linting is due to eval_file_attribute/2 function that recursively traverses all the AST, annotating the file name on the AST nodes. This traversal happens so it is easier to add errors and warnings later on by simply introspecting the node. This patch changes eval_file_attribute/2 to only annotate forms (i.e. attributes and functions) and rely on the #lint record to keep the proper file information (which it already did before this patch). To summarize, both pre scan and pos scan will use the annotated file attribute in forms, however form/2 already maintains the proper file in #lint, which we pass around when retrieving the location information. After this patch, linting of a regular erlang module with 500LOC became twice faster when measured with eprof.
2015-05-21Merge branch 'sverk/ets-tab2file-syn/OTP-12737'Sverker Eriksson
* sverk/ets-tab2file-syn/OTP-12737: stdlib: Add 'sync' option to ets:tab2file/3
2015-05-21compiler: Use Maps as type informationBjörn-Egil Dahlberg
Using Maps as type information container speedups files like cow_http_hd.erl by ~500ms. Previously spent ~60% of the time in orddict:store/3.
2015-05-21compiler: Use Maps instead of dict in beam_jumpBjörn-Egil Dahlberg
2015-05-21compiler: Use cerl_sets instead of gb_sets in beam_typeBjörn-Egil Dahlberg
2015-05-21compiler: Use Maps instead of gb_trees in beam_deadBjörn-Egil Dahlberg
2015-05-21compiler: Use cerl_sets instead of gb_sets in beam_jumpBjörn-Egil Dahlberg
2015-05-21compiler: Use cerl_sets instead of sets in v3_kernelBjörn-Egil Dahlberg
2015-05-21compiler: Use cerl_sets instead of gb_sets in sys_core_foldBjörn-Egil Dahlberg
2015-05-21compiler: Add cerl_sets moduleBjörn-Egil Dahlberg
A sets implementation based on maps.
2015-05-21compiler: Scope uses gb_sets not gb_treesBjörn-Egil Dahlberg
2015-05-21beam_dict: Use Maps to map function name indicesBjörn-Egil Dahlberg
2015-05-21beam_dict: Use Maps to map line indicesBjörn-Egil Dahlberg
2015-05-21beam_dict: Use Maps to map atom indicesBjörn-Egil Dahlberg
2015-05-21v3_codegen: Use Maps to map local functionsBjörn-Egil Dahlberg
2015-05-21v3_life: Refactor variable dbBjörn-Egil Dahlberg
2015-05-21compiler: Use lc instead of map/1 in v3_codegenBjörn-Egil Dahlberg
Small speed increase for large files.
2015-05-21stdlib: Optimize erl_anno:is_string/1Björn-Egil Dahlberg
erl_anno:is_string/1 is frequently called from erl_lint and thus affects compile time. Using is_list/1 for is_string/1 is sufficient in this case.
2015-05-21Don't make 'compiler' dependent on 'tools'Björn Gustavsson
In a5d724cf240a, a debug option for running eprof on a specific compiler pass was added. That commit added a direct call to the eprof module in the tools application, and therefore the test case otp_SUITE:runtime_dependencies/1 would fail because xref would find a call to the tools application, but tools is not listed as a runtime dependency in compiler.app. Since the 'eprof' option is only likely to be used by compiler maintainers, we don't want a real dependency to the tools application. Therefore, use c:appcall/4 to hide the call to the eprof module (and to report the error nicely if the tools application is missing).
2015-05-21Remove final (?) vestiges of support for parameterized modulesBjörn Gustavsson
Parameterized modules were removed in cdf8060868575, but a few vestiges still remained in erl_lint.
2015-05-21tools: Relax lcnt test timeBjörn-Egil Dahlberg
2015-05-21Add tests for ssh rekeyingSimon Cornish
2015-05-21Fix protocol violations during rekeyingSimon Cornish
In RFC 4253, sections 7.1 & 9 describe rekeying with special attention to the protocol messages that may be received and may not be sent during rekeying. This patch fixes a number of problems during rekeying caused by data & requests received from the network, and/or data & requests sent by the user.
2015-05-21Fix rekeying according to RFC 4253Simon Cornish
When in the connected state, an received KEXINIT message MUST be responded to with KEXINIT. After that, the client may continue with KEXDH_INIT (or similar). See the first paragraph on RFC 4253 sec. 9.
2015-05-21compiler: Add tests for beam_bsm get_map_elementsBjörn-Egil Dahlberg
2015-05-21compiler: Teach beam_bsm get_map_elements instructionBjörn-Egil Dahlberg
Allows for 'creation of sub binary delayed' optimization if map instructions are in a clause. Reported-by: José Valim
2015-05-21Update runtime dependenciesRickard Green
2015-05-20Fix usage of io-request queueRickard Green
2015-05-20stdlib: ets_SUITE cuddlingBjörn-Egil Dahlberg
Time measurement of ets-lookups, too fast for windows.
2015-05-20Revert "Map error logger warnings to warning messages by default"Zandra Hird
This reverts commit 4c4d7fa40e5fb59854724ce74b8aa3546525cb90. This pr is causing some test failures that were missed at first.
2015-05-20stdlib: Relax maps test suite for HiPEBjörn-Egil Dahlberg
2015-05-20Merge branch 'richcarl/warnings-by-default'Zandra Hird
* richcarl/warnings-by-default: Map error logger warnings to warning messages by default OTP-12755
2015-05-20Merge branch 'josevalim/jv-nowarn-bif-clash'Zandra Hird
* josevalim/jv-nowarn-bif-clash: Cache nowarn_bif_clash functions in erl_lint OTP-12754
2015-05-20Merge branch 'josevalim/patch-4'Zandra Hird
* josevalim/patch-4: Speed up linting by not traversing filenames in erl_anno
2015-05-20Merge branch 'evnu/fix-cprof-typo'Zandra Hird
* evnu/fix-cprof-typo: Fix typo in cprof documentation
2015-05-20Merge branch 'saleyn/eunit'Zandra Hird
* saleyn/eunit: Add ?assertReceive(Guard, Timeout) macro to eunit OTP-12753
2015-05-20Merge branch 'jeffweiss/fix_eldap_timeout_documentation'Henrik Nord
* jeffweiss/fix_eldap_timeout_documentation: Correct module in eldap timeout docs
2015-05-20Merge branch 'master' of git-server:otpLars Thorsen
Conflicts: lib/orber/src/orber.app.src