aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2016-11-23Merge branch 'bjorn/compiler/fix-unwanted-warning/ERL-301/OTP-14040' into maintBjörn Gustavsson
* bjorn/compiler/fix-unwanted-warning/ERL-301/OTP-14040: Suppress warnings from v3_kernel when inlining is turned on
2016-11-23Merge branch 'jimdigriz/kernel/rpc-doc/ERL-302/PR-1252' into maintBjörn Gustavsson
* jimdigriz/kernel/rpc-doc/ERL-302/PR-1252: document {yield/nb_yield}() limitation
2016-11-23Merge branch 'hasse/dialyzer/improve_messages/OTP-11403' into maintHans Bolinder
* hasse/dialyzer/improve_messages/OTP-11403: dialyzer: Substitute 'opacity' for 'opaqueness' dialyzer: Improve a warning message dialyzer: Improve a warning message dialyzer: Correct a warnings message
2016-11-23Merge branch 'hasse/stdlib/correct_types' into maintHans Bolinder
* hasse/stdlib/correct_types: stdlib: Correct types of the abstract format
2016-11-22stdlib: Correct types of the abstract formatHans Bolinder
The types in erl_parse.yrl are more in harmony with the description in The Abstract Format (in ERTS User's Guide).
2016-11-22scheme_validation_fun misspellt in docEvgeny M
2016-11-22dialyzer: Substitute 'opacity' for 'opaqueness'Hans Bolinder
Suggested by Kostis.
2016-11-22dialyzer: Improve a warning messageHans Bolinder
Messages regarding guards with orelse/andalso could look like "Clause guard cannot succeed. The variable A was matched against the type any()". Now they look like as if or/and is used: "Guard test is_integer(A::atom()) can never succeed".
2016-11-22dialyzer: Improve a warning messageHans Bolinder
Messages like "Invalid type specification for function para3:exp_adt/0. The success typing is () -> 3" now look like "The specification for para3:exp_adt/0 has an opaque subtype para3_adt:exp1(para3_adt:exp2()) which is violated by the success typing () -> 3". The old message did not give any clue as to what invalidated the contract, namely the opaque subtype.
2016-11-22dialyzer: Correct a warnings messageHans Bolinder
Messages like "The attempt to match a term of type rec_api:f() against the variable _ breaks the opaqueness of rec_adt:f()" now look like "The attempt to match a term of type rec_adt:f() against the record field 'f' with type rec_api:f() breaks the opaqueness of the term".
2016-11-19document {yield/nb_yield}() limitationAlexander Clouter
2016-11-18Merge branch 'bjorn/cuddle-with-tests' into maintBjörn Gustavsson
* bjorn/cuddle-with-tests: Correct tar_SUITE:unicode/1
2016-11-18Merge branch 'ingela/httpc/keep-alive-https/OTP-14041' into maintIngela Anderton Andin
* ingela/httpc/keep-alive-https/OTP-14041: inets: httpc - do not send absolute URIs over TLS tunnels
2016-11-18Suppress warnings from v3_kernel when inlining is turned onBjörn Gustavsson
v3_kernel may produce unwanted and confusing warnings for code that has been inlined with the new inliner (cerl_inline). Consider this code: -compile(inline). compute1(X) -> add(X, 0). compute2(X, Y) -> add(X, Y). add(1, 0) -> 1; add(1, Y) -> %% "this clause cannot match..." 1 + Y; add(X, Y) -> X + Y. v3_kernel warns because add/2 has been inlined into compute1/1 and only the first clause in add/2 will match. But the other clauses are needed when add/2 is inlined into compute2/2, so the user cannot do anything to eliminate the warning (short of manually inlining add/2, defeating the purpose of the 'inline' option). The warning would be reasonable if compute2/2 didn't exist, but it would be too complicated for the compiler to figure whether a warning make sense or not. Therefore, suppress all warnings generated by v3_kernel if cerl_inline has been run. ERL-301
2016-11-18Merge branch 'ingela/odbc/mac' into maintIngela Anderton Andin
* ingela/odbc/mac: odbc: Remove support for old MACs
2016-11-18odbc: Remove support for old MACsIngela Anderton Andin
Change configure to skip odbc for old MACs, the change in PR-1227 is not backwards compatible with old MACs, and we do not see a need to continue support for such old versions. However it is still possible to make it work on such machines using the --with-odbc configure option.
2016-11-17Correct tar_SUITE:unicode/1Björn Gustavsson
Make sure that we always test the "+fnu" option on all systems. It seems that it was not tested in our daily builds, since they are run non-interactively. Make sure that we sort the list of names in do_unicode/1. Otherwise the test would only work in "+fnl" mode because the list would only contain one element.
2016-11-14Merge branch 'hans/ssh/cuddle_tests_maint' into maintHans Nilsson
2016-11-14Merge remote-tracking branch 'github/pr/1227' into maintIngela Anderton Andin
* github/pr/1227: Update configure to work better on Mac
2016-11-11ssh: Adjust inet buffers if too smallHans Nilsson
2016-11-11ssh: Change order on next_event actions in ssh_connection_handlerHans Nilsson
2016-11-11ssh: Testcase polishingHans Nilsson
2016-11-11Merge branch 'peppe/common_test/fix_default_gl/ERL-279/OTP-13973' into maintPeter Andersson
* peppe/common_test/fix_default_gl/ERL-279/OTP-13973: Fix problem with printouts to incorrect parent group leader OTP-13973
2016-11-10ssh: exported ssh_dbg:shrink_bin and ssh_dbg:wr_record/3 for debugging purposesHans Nilsson
2016-11-10Merge branch 'margnus1/hipe_llvm39_bugs/PR-1237/OTP-14027/OTP-14028' into maintSverker Eriksson
* margnus1/hipe_llvm39_bugs/PR-1237: hipe_rtl_to_llvm: Constants for bits per byte/word hipe_llvm: Work around LLVM 3.9 sdesc bug hipe_llvm: Fix incorrect atom alignment assumption
2016-11-10ssl: Use SHA2 for signing ECC certs if possibleIngela Anderton Andin
ECC certs should preferably use SHA2, this is what we want to be testing. Also assembling of all available test suites must consider TLS version.
2016-11-09Update configure to work better on MacJT Turner
Update to look for -lodbc as well as default to /usr/local as you will need to brew install libiodbc.
2016-11-09Merge branch 'ingela/ssl/tune-timeouts-packet_SUITE' into maintIngela Anderton Andin
* ingela/ssl/tune-timeouts-packet_SUITE: ssl: Change to more modest timeouts
2016-11-09Merge branch 'ingela/ssl/ECC-faulty-workaround' into maintIngela Anderton Andin
* ingela/ssl/ECC-faulty-workaround: ssl: Remove faulty workaround
2016-11-09ssl: Remove faulty workaroundIngela Anderton Andin
We where never really satisfied with this workaround it was a bit far fetched, so we are pleased to be able to remove it.
2016-11-09Merge branch ↵Raimo Niskanen
'gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/OTP-14022' into maint * gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/OTP-14022: controlling_process can return {error, badarg}
2016-11-08hipe_rtl_to_llvm: Constants for bits per byte/wordMagnus Lång
The constant ?WORD_WIDTH is renamed ?BITS_IN_WORD, and a new constant ?BITS_IN_BYTE is introduced. Additionally, a bug in a currently unused case clause of llvm_type_from_size/1 is fixed (the size of a word was hardcoded to 64 bits).
2016-11-08Merge branch 'raimo/gen_statem-improvements/OTP-13929' into maintRaimo Niskanen
* raimo/gen_statem-improvements/OTP-13929: Log terminate to sys debug Optimize event timeout Rework timeout handling Clarify the chapter 'Postponing Events' (ERL-284) Fix doc and type for state enter calls
2016-11-08Merge branch 'jxck/fix-doc-typo/PR-1238' into maintBjörn-Egil Dahlberg
* jxck/fix-doc-typo/PR-1238: fix typo on doc of maps
2016-11-08Merge branch 'leoliu/tools/emacs-erldoc/PR-1197/OTP-14018' into maintDan Gudmundsson
* leoliu/tools/emacs-erldoc/PR-1197/OTP-14018: New commands to ease looking up OTP documentation
2016-11-08fix typo on doc of mapsJxck
typo
2016-11-07hipe_llvm: Work around LLVM 3.9 sdesc bugMagnus Lång
As of LLVM 3.9, the x86-call-frame-opt pass in LLVM's X86 backend causes the stack descriptors to contain incorrect (or even negative) frame sizes or root slot offsets. This might cause LLVM-compiled modules to be rejected during loading with a badarg exception in hipe_bifs:enter_sdecs/1 (which additionally prints a "hipe_bifs_enter_sdesc_1: bad sdesc!" message to stderr), or it might cause corruption or segmentation faults when walking stacks (f.ex. during GC) containing frames compiled with ErLLVM. As a workaround, we pass the -no-x86-call-frame-opt flag to llc when the version is at least 3.9
2016-11-07hipe_llvm: Fix incorrect atom alignment assumptionMagnus Lång
ErLLVM was declaring atoms in the following manner: @atom_ok = external constant i64 ; Used inside a function like this %var = ptrtoint i64* @atom_ok to i64 However, doing so makes LLVM think the `atom_ok` is 8-byte aligned, since it refers to a i64 value. This resulted in LLVM occasionally incorrectly optimising away type tests on atoms, causing incorrect behaviour or even segfaults. One such case is in bs_match_compiler:coverage_apply/2, in which an is_boxed test on a literal atom was optimised away, causing the code to try and load the "header" of an atom. This problem reproduces with LLVM versions 3.7 through 3.9. By declaring atoms as i8 (byte) constants instead, LLVM no longer makes these alignment assumptions, and the bug is fixed.
2016-11-07Merge branch 'kostis/hipe-bs_match_string/PR-1234/OTP-14005' into maintSverker Eriksson
* kostis/hipe-bs_match_string/PR-1234/OTP-14005: Add a test case that should now work Fix the native code translation of bs_match_string
2016-11-07Merge branch 'ferd/ssl-allow-ecc-config/PR-1210/OTP-13959' into maintIngela Anderton Andin
* ferd/ssl-allow-ecc-config/PR-1210/OTP-13959: Add ECC curve selection order config in TLS server
2016-11-07Merge branch 'egil/erts/cuddle-tests' into maintBjörn-Egil Dahlberg
* egil/erts/cuddle-tests: stdlib: Increase timeouts in ets_SUITE stdlib: Increase timeouts in rand_SUITE stdlib: Increase timeouts in base64_SUITE erts: Use cmd on windows for port_SUITE
2016-11-04stdlib: Increase timeouts in ets_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-11-04stdlib: Increase timeouts in rand_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-11-04stdlib: Increase timeouts in base64_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-11-03Add a test case that should now workKostis Sagonas
2016-11-03Fix the native code translation of bs_match_stringKostis Sagonas
This fixes a HiPE bug reported on erlang-questions on 2/11/2016. The BEAM to ICode tranaslation of the bs_match_string instruction, written long ago for binaries (i.e., with byte-sized strings), tried to do a `clever' translation of even bit-sized strings using a HiPE primop that took a `Size' argument expressed in *bytes*. ICode is not really the place to do such a thing, and moreover there is really no reason for the HiPE primop not to take a Size argument expressed in *bits* instead. This commit changes the `Size' argument to be in bits, postpones the translation of the bs_match_string primop Fixed in a pair-programming/debugging session with @margnus1. until RTL and does a proper translation using bit-sized quantities there.
2016-11-03Merge branch 'sverker/kernel-erts-dependency/OTP-14003' into maintSverker Eriksson
* sverker/kernel-erts-dependency: kernel: Add lost dependency to erts-8.1
2016-11-02Add ECC curve selection order config in TLS serverFred Hebert
As per RFC 4492 Sec 5.1, the preferred order of selection of named curves is based on client preferences. Currently, the SSL application only picks entries according to the absolute order of entries as tracked in a hardcoded list in code. This patch changes things so that the client-specified order is preferred. It also allows a mode where the server can be configured to override the client's preferred order with its own, although the chosen ECC must still be within both lists. The configuration is done through the following options: - `eccs`, shared by clients and servers alike, allows the specification of the supported named curves, in their preferred order, and may eventually support more values for explicit primes and so on. - `honor_ecc_order`, a server-only option, is similar to `honor_cipher_order` and will, by default let the server pick the client-preferred ECC, and otherwise pick the server-preferred one. The default value for `eccs` is the same as before, although the server-chosen ECC now defaults to the client rather than previous choice. A function `ssl:eccs()` has been added that returns the highest supported ECCs for the library.
2016-11-02Merge branch 'hasse/erts/fix_match_spec_head/OTP-13996' into maintHans Bolinder
* hasse/erts/fix_match_spec_head/OTP-13996: Update preloaded erts: Correct type declaration of match specification head
2016-11-02Merge branch 'roadrunnr/tools/fprof-send-non-exist/PR-1201/OTP-13998' into maintLukas Larsson
* roadrunnr/tools/fprof-send-non-exist/PR-1201/OTP-13998: handle send_to_non_existing_process trace event in fprof