Age | Commit message (Collapse) | Author |
|
Since EDoc 0.7.7 (R14B02) separate values of union types can be
annotated. However, the parser has hitherto chosen not to add the
necessary parentheses due to backwards compatibility.
From this release on code traversing the output of edoc_parser needs
to take care of parentheses around separate values of union types.
Examples of such code are layout modules and doclet modules.
The following example shows annotated values of a union type:
-type t() :: (Name1 :: atom()) | (Name2 :: integer()).
|
|
* bjorn/remove-tuple-funs/OTP-10170:
Remove support for tuple funs
|
|
* maint:
Let t_inf() substitute any() for variables in a few more cases
Fix a bug in dialyzer_dataflow
|
|
The clauses handling opaque types haven't been fixed here.
|
|
|
|
|
|
* dgud/dialyzer_fixes:
[et] Remove dead code (and fix dialyser warnings)
[wx] Add callback option to event handler spec
|
|
* dgud/observer/bug-fixes/OTP-10075:
[observer] Fix dialyser warnings
Format latin binary strings in table viewer
Fix process_info from app tab on other nodes
|
|
* maint:
Add an undocumented option [--solver [v1 | v2]]
Add an alternative implmentation of the typesignature solver
|
|
The original implementation of the type signature solver is called 'v1'
and the newly introduced alternative implementation is called 'v2'.
It is possible to run just the one of the solvers (in case there is a
bug in for instance the v2 implementation) or both solvers
("--solver v1 --solver v2"). In the latter case an error is thrown if
the outcome differ.
|
|
An alternative implementation of the solver in dialyzer_typesig has
been introduced. It is faster than the original implementation.
Note: there is code for "loop detection". Where a loop occurs, the
evaluation is stopped and the current solution returned. This
behaviour is consistent with how the original implementation works.
There are a few known cases where the loop detection kicks in. They
are due to bugs which will hopefully be fixed in a near future.
|
|
Conflicts:
erts/doc/src/erlang.xml
erts/preloaded/ebin/init.beam
lib/kernel/doc/src/os.xml
lib/stdlib/test/filename_SUITE.erl
|
|
* pan/unicode_home/OTP-10160:
Teach release_handler_SUITE about file:native_name_encoding/0
Add documetation about Unicode in environment
Make get/putenv and erlexec understand Unicode
|
|
* slf/slf-relocate-dtrace-N-probes/OTP-10189:
Relocate bodies of DTrace probes to the statically-linked VM.
|
|
* jkl/fix-filename-nativename/OTP-10188:
Fix filename:nativename/1 on Win32
Add filename:nativename/1 binary argument test to suite
|
|
|
|
* siri/common_test/ct_netconfc/OTP-10025:
[common_test] Move ct_netconfc_SUITE into datadir and run with ct_test_support
[common_test] Don't abort test if opening of connection fails
[common_test] Don't allow named (required) connection to be opened twice
[common_test] Don't abort test run if connection process crashes
[common_test] Add netconf client, ct_netconfc
|
|
Due to various operating systems (in both the DTrace and SystemTap
worlds) not fully supporting DTrace probes (or SystemTap-compatibility
mode probes) in shared libraries, we relocate those probes to the
statically-linked virtual machine. This could be seen as pollution
of the pristine VM by a (yet) experimental feature. However:
1. This code can be eliminated completely by the C preprocessor.
2. Leaving the probes in the dyntrace NIF shared library simply
does not work correctly on too many platforms.
*Many* thanks to Macneil Shonle at Basho for assisting when my
RSI-injured fingers gave out.
Tested on:
* CentOS 5, SystemTap 1.3
* Solaris 10 (note)
* Solaris 11
* OpenIndiana 151
* SmartOS 20120809T221258Z
* FreeBSD 9.0-RELEASE (note)
I had hoped to be able to test CentOS 6 + SystemTap 1.7, but the
details of dealing with all dependencies for a 2.6.32-279.5.1.el6.x86_64
kernel are too time consuming right now.
(note: Solaris 10 and FreeBSD 9.0-RELEASE can take a long time to compile)
|
|
|
|
|
|
|
|
|
|
When opening a connection, the connection process would link itself to
ct_util_server before calling the init callback, e.g. in ct_netconfc,
ct_telnet etc. If the init callback failed, then ct_util_server would
get the 'EXIT'. ct_util looks up the pid in the connection table, but
since the connection is not yet registered it is not found. ct_util
does not know which process it is and will thus die - aborting the
complete test run.
This commit moves the link(CtUtilServer) after the init callback, so a
crash in the init callback will not be detected by ct_util_server -
the caller process, however, will get a 'DOWN' message due to
monitoring and ct_gen_conn:start will give an error return.
|
|
Earlier, it was possible to open connection (ct_gen_conn) with the
same (required) name twice, which could give unexpected results. Such
attempts will now return {error,{connection_exists,OtherClient}}.
|
|
Earlier ct_util_server would terminate and thus abort the complete
test run if a connection process (ct_gen_conn) crashed. This is now
changed so that ct_util will only print an error report (in the test
case log) and continue the rest of the test.
|
|
The netconf client supports basic netconf functionality over SSH. In
order to allow testing of both success and failure cases, it is
intentionally written to allow non-standard behavior.
In order for the netconf client to use the generic connection
mechanism in common_test, ct_gen_conn has been updated to be more
flexible:
Added options:
{reconnect,bool()}
{forward_messages,bool()}
{use_existing_connection,bool()}
Allow handle_msg to return
{reply,Reply,State} |
{noreply,State} |
{stop,Reply,State}
If forward_messages==true, the ct_gen_conn callback must also
implement:
handle_msgs(Msg,State) -> {noreply,State} | {stop,State}
|
|
Tuple funs were deprecated in R15B (in commit a4029940e309518f5500).
|
|
|
|
|
|
* sverk/ets-compressed-binary-bug/OTP-10182:
Fix corrupted binaries in compressed ETS tables
Make ETS compile with #define DEBUG_CLONE
|
|
|
|
* sverk/crypto-unaligned-aes-cfb/OTP-10136:
crypto: Allow aes_cfb_128_{en|de}crypt to accept unaligned data
|
|
|
|
* gustav/asn1/enumerated_n2n/OTP-10144:
Add support for extensible enumeration types in n2n generated functions.
Make n2n option work for enumerated types without extension markers.
Add test enumeration types for testing n2n option when using the name2num
and num2name functions on an enumeration value not in the extension root
of an enumeration type with extension marker.
|
|
* gustav/asn1/integer_single_value_predefined/OTP-10139:
In generation of encoding functions for enumeration types,
the values used for generating the range check in case of
a value range should be sorted and have duplicates removed.
Add sorting in constraint checking on single values.
Conflicts:
lib/asn1/test/testConstraints.erl
|
|
Release_handler_suite correctly checks that no calls to the file module
is done during a diskless upgrade, but file:native_name_encoding is
a BIF that does no real i/o and can therefore be called during command line
argunemt parsing. The testcase is updated to ignore such calls.
|
|
* gustav/asn1/per_integer_ranges/OTP-10128:
Keep encoded octets of constrained whole number value and range as binaries and use erlang:byte_size to get length of octets and range. For speed.
Add support for larger integer ranges in per encode/decode
|
|
|
|
* gustav/kernel/packages-docs-empty-func:
Remove empty function in packages docs
|
|
* maint:
Update primary bootstrap
Fix broken building of bootstrap compiler
Conflicts:
bootstrap/lib/kernel/ebin/code.beam
|
|
Commit df8e67e203b83f95d1e098fec88ad5d0ad840069 broke
"./otp_build update_primary" because epp:parse_file/4 was
added and used from the compiler, but the epp module is not part
of the primary compiler that is used to compile the bootstrap
compiler. Fix the problem by including the epp module in the
primary compiler.
|
|
* maint:
erl_lint: Add a deprecated warning for literal tuple funs
beam_utils:live_opt/1: Correct handling of try_case_end/1
Correct guard_SUITE_tuple_size.S
beam_type: Print the offending function if this pass crashes
beam_validator: Validate the size operand in bs_init_bits and bs_init2
|
|
* bjorn/compiler/minor-fixes/OTP-10185:
erl_lint: Add a deprecated warning for literal tuple funs
beam_utils:live_opt/1: Correct handling of try_case_end/1
Correct guard_SUITE_tuple_size.S
beam_type: Print the offending function if this pass crashes
beam_validator: Validate the size operand in bs_init_bits and bs_init2
|
|
The run-time warning for use of tuple funs will not catch the use
of literal tuple funs, such as:
if
{erlang,'+'}(3,X) =:= 0 -> true;
true -> false
end.
Therefore, add a compile-time warning to give users some warning
before they stop working in R16.
|
|
Liveness for the try_case_end/1 instruction should be calculated
in the same way as for the case_end/1 instruction.
|
|
The number of live registers in the gc_bif instructions was wrong.
It was not noticed because the beam_type pass silently corrected it.
|
|
|
|
|
|
|
|
bmk/snmp/snmp4221_integration2
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/src/app/snmp.appup.src
lib/snmp/src/misc/snmp_pdus.erl
|