Age | Commit message (Collapse) | Author |
|
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.
|
|
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".
|
|
* bjorn/travis-dialyzer:
Travis: Reduce memory consumption for dialyzer
|
|
9e06884c3a7db started to run Dialyzer in Travis.
After that, Travis has crashed several times because of the memory
limit of 2Gb has been exceeded. Try to fix that by analyzing only
three or four applications at a time.
|
|
* kostis/travis-dialyzer:
Run dialyzer as part of the travis script
|
|
* bjorn/cuddle-with-tests:
Correct tar_SUITE:unicode/1
|
|
* ingela/httpc/keep-alive-https/OTP-14041:
inets: httpc - do not send absolute URIs over TLS tunnels
|
|
* ingela/odbc/mac:
odbc: Remove support for old MACs
|
|
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.
|
|
Build a dialyzer PLT and use it to analyze all OTP applications
that can currently be analyzed without warnings even when the
option -Wunmatched_returns is turned on. Note that the dialyzer
run does _not_ enable the option which allows for improper lists.
Applications to run dialyzer on are mentioned alphabetically.
As more applications are fixed to run cleanly even with unmatched
returns, they can be added to this list. However, there will come
a point when the warning pass of Dialyzer will run out of memory
on Travis and the process will be killed. This should be fixed in
dialyzer.
|
|
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.
|
|
|
|
* github/pr/1227:
Update configure to work better on Mac
|
|
* sverker/hipe-no-pie-amd64:
erts: Disable -fPIE for HiPE on x86_64
erts: Fix correct link flags for hipe_mkliterals
|
|
|
|
and no need for $(INCLUDED).
|
|
|
|
|
|
|
|
* peppe/common_test/fix_default_gl/ERL-279/OTP-13973:
Fix problem with printouts to incorrect parent group leader
OTP-13973
|
|
|
|
* 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
|
|
* ingela/ssl/ECC-certs-test:
ssl: Use SHA2 for signing ECC certs if possible
|
|
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.
|
|
Update to look for -lodbc as well as default to /usr/local as you will need to brew install libiodbc.
|
|
* ingela/ssl/tune-timeouts-packet_SUITE:
ssl: Change to more modest timeouts
|
|
|
|
* ingela/ssl/ECC-faulty-workaround:
ssl: Remove faulty workaround
|
|
We where never really satisfied with this workaround it was
a bit far fetched, so we are pleased to be able to remove it.
|
|
'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}
|
|
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).
|
|
* 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
|
|
|
|
|
|
|
|
'egil/erts/fix-configure-to-check-in-libsct-for-sctp-funcs/ERL-262/OTP-13956' into maint-19
* egil/erts/fix-configure-to-check-in-libsct-for-sctp-funcs/ERL-262/OTP-13956:
Configure enable libsctp dependency
Revert "Check libsctp for sctp funcs in configure.in"
|
|
* bjorn/erts/erl_prim_loader/OTP-14009:
Update preloaded modules
Fix performance bug in erl_prim_loader:get_modules/{2,3}
|
|
* egil/19/erts/fix-crashdump-sigusr1/OTP-13997:
erts: Fix SIGUSR1 crashdump generation
|
|
|
|
This reverts commit 52fae83743a6e84d719f4f82fe45e6e0efdbd6f0:
Check libsctp for sctp funcs in configure.in
Call AC_CHECK_LIB before calling AC_CHECK_FUNCS to check for functions in libsctp.
Otherwise AC_CHECK_FUNCS will not link with libsctp to see if function exists.
Reverting to the old behaviour of not checking for libsctp before checking for
sctp functions. Then it works on Linux by loading libsctp and looking up the
symbols i runtime, and it works on FreeBSD since there is no separate libsctp
to link against - the functions are part of the default system libraries.
|
|
* jxck/fix-doc-typo/PR-1238:
fix typo on doc of maps
|
|
* leoliu/tools/emacs-erldoc/PR-1197/OTP-14018:
New commands to ease looking up OTP documentation
|
|
typo
|
|
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
|
|
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.
|
|
* 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
|
|
* ferd/ssl-allow-ecc-config/PR-1210/OTP-13959:
Add ECC curve selection order config in TLS server
|
|
* egil/clarify-dir-structure/OTP-14013:
doc: Clarify application directory structure
|
|
* 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
|
|
|