Age | Commit message (Collapse) | Author |
|
|
|
There is currently no zero-cost way to silence the warning
"the result of the expression is ignored", which is issued
for code such as:
list_to_integer(S),
ok
Such code can be useful for assertions or input validation.
Teach the compiler to silence the warning for expressions
that are explicitly assigned to to the "_" variable,
such as:
_ = list_to_integer(S),
ok
Implement it by having the v3_core pass annotate calls in
Core Erlang like this:
let <_> = ( call 'erlang':'list_to_integer'(S) -| ['result_not_wanted'] )
in 'ok'
and modifiy sys_core_fold to suppress the warning for any call
having the annotation.
We deliberately do not make it possible to silence the warnings
for expressions like:
{build,an,unnecessary,term}, ok
or
is_list(L), ok
because we don't know of any real-world scenarios in which that would
be useful.
|
|
* ms/pcre-compile-workspace-overrun:
re_SUITE: Add pcre_compile_workspace_overflow/1
MacOS X: Boost default stack size
Fix check for compile workspace overflow
OTP-8539 ms/pcre-compile-workspace-overrun
|
|
|
|
|
|
|
|
|
|
|
|
* ks/stdlib:
erl_parse.yrl: Add missing operator in type declaration
stdlib: Add types and specs
stdlib: Use fun object instead of {M,F} tuple
ets: Cleanup as suggested by tidier
OTP-8576 ks/stdlib
|
|
* jb/inet6-dist:
Support IPv6 addresses in long host names
Fix implementation of IPv6 TCP distribution protocol
Fix compilation of epmd with IPv6 enabled
OTP-8575 jb/inet6-dist
|
|
|
|
The default stack size on MacOS X for the SMP emulator is too small
to support all uses of pcre. For example, the following expression
N = 819, re:compile([lists:duplicate(N, $(), lists:duplicate(N, $))]).
will cause a stack overflow. By bisection of different values
for the +sss option, I found that 166 is the smallest value that
avoids the crash. Round that up to 256 to give a nice, round power
of 2 and a resonable safety margin. Use that value as a default stack
size on MacOS X only.
|
|
Patch from:
http://vcs.pcre.org/viewvc/code/trunk/pcre_compile.c?r1=504&r2=505&view=patch
Test case:
N = 819, re:compile([lists:duplicate(N, $(), lists:duplicate(N, $))]).
Compiling large regular expressions could overflow the workspace
buffer. Modify the test to check for a value smaller than the buffer
size.
|
|
|
|
|
|
|
|
|
|
|
|
* bg/fconv:
erts: Fix loading of modules with invalid floating point arithmetic
|
|
crypto:des_cbc_decrypt
|
|
When distributing over IPv4, node@<IPv4-address>
(e.g. [email protected]) works correctly.
Permit node@<IPv6-address> (e.g. node@::1) when
distributing over IPv6.
|
|
|
|
New ssl now properly handles ssl renegotiation, and initiates a
renegotiation if ssl/ltls-sequence numbers comes close to the max value.
|
|
|
|
|
|
|
|
|
|
New ssl now properly handles ssl renegotiation, and initiates a
renegotiation if ssl/ltls-sequence numbers comes close to the max value.
|
|
|
|
|
|
|
|
* ta/nif-documentation:
Fix typos in erl_nif.xml
Build erl_nif manpage
OTP-8558 ta/nif-documentation
|
|
* sk/old_heap-unused:
system_info(procs): Fix the value for "OldHeap unused"
|
|
|
|
|
|
When defining macros the closing right parenthesis before the dot is now
mandatory.
|
|
* ta/asn1-verbose:
Add test for verbose option to asn1_SUITE
Teach asn1ct verbose option
OTP-8565 ta/asn1-verbose
By default, the ASN.1 compiler is now silent in the absence of warnings or
errors. The new 'verbose' option or the '-v' option for erlc can be given
to show extra information (for instance, about the files that are generated).
(Thanks to Tuncer Ayaz.)
|
|
* rb/ssl-fix-http-packet-decoding:
Fix ssl to decode http packets in the same way as gen_tcp
OTP-8545 rb/ssl-fix-http-packet-decoding
|
|
Test that asn1ct correctly handles verbose option.
Signed-off-by: Tuncer Ayaz <[email protected]>
|
|
Change asn1ct to print verbose information only when asked to.
Signed-off-by: Tuncer Ayaz <[email protected]>
|
|
|
|
* rb/ssl-transport-accept-fix:
Fix ssl:transport_accept/2 to return properly when socket is closed
OTP-8560 rb/ssl-transport-accept-fix
Fixed ssl:transport_accept/2 to return properly when socket is closed.
Thanks to Rory Byrne.
|
|
|
|
* ta/doc-fakefop:
Build placeholder PDF files if FOP is not found
OTP-8559 ta/doc-fakefop
If the 'fop' program (needed for building PDF files) cannot not be found,
it is now possible to build the HTML and man pages anyway (there will also
be dummy PDF files with no real content created).
|
|
The value for "OldHeap unused" in the output of
erlang:system_info(procs) and in crash dumps, was incorrectly
calculated as the size of the entire old heap.
|
|
* jb/pp_arm-imm-fix:
Modify pp_arm to decode imm8m constants
|
|
Fix a couple trivial typos in erl_nif.xml.
Signed-off-by: Tuncer Ayaz <[email protected]>
|
|
|
|
|
|
The following program is supposed to cause an exception
at run-time:
foo() ->
Sum1 = Sum2 = N = 2,
pSum - (Sum1*(Sum2/N)).
but the loader fails to load because it contains the
following instruction:
fconv {atom,pSum} {fr,2}
Fix the loader so that it can handle fconv instructions
where the first operand is a non-numeric literal.
Reported-by: Torbjörn Törnkvist
|