aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2012-08-24Add a missing tag in a type declarationKostis Sagonas
2012-08-23Merge branch 'bjorn/compiler/illegal-size/OTP-10197' into maintBjörn Gustavsson
* bjorn/compiler/illegal-size/OTP-10197: compiler: Warn if the size of a binary segment is invalid
2012-08-23Merge branch 'hb/tools/xref_filenames/OTP-10192' into maintHans Bolinder
* hb/tools/xref_filenames/OTP-10192: Allow non-ASCII characters in Xref filanmes
2012-08-22Revert "Merge branch 'nox/compile-column-numbers' into maint"Lukas Larsson
Column numbers was merged without understanding all the whole story. See mail on erlang-patches for details. This reverts commit df8e67e203b83f95d1e098fec88ad5d0ad840069, reversing changes made to 0c9d90f314f364e5b1301ec89d762baabc57c7aa.
2012-08-22compiler: Warn if the size of a binary segment is invalidBjörn Gustavsson
The compiler would silently accept and Dialyzer would crash on code like: <<X:(2.5)>> It is never acceptable for Dialyzer to crash. The compiler should at least generate a warning for such code. It is tempting to let the compiler generate an error, but that would mean that code like: Sz = 42.0, <<X:Sz>>. would be possible to compile with optimizations disabled, but not with optimizations enabled. Dialyzer crashes because it calls cerl:bitstr_bitsize/1, which crashes if the type of size for the segment is invalid. The easiest way to avoid that crash is to extend the sanity checks in v3_core to also include the size field of binary segments. That will cause the compiler to issue a warning and to replace the bad binary construction with a call to erlang:error/1. (It also means that Dialyzer will not issue a warning for bad size fields.)
2012-08-22Allow non-ASCII characters in Xref filanmesHans Bolinder
Xref now accepts filenames with character codes greater than 126. (Thanks to Emile Joubert for reporting the issue.)
2012-08-21Let t_inf() substitute any() for variables in a few more casesHans Bolinder
The clauses handling opaque types haven't been fixed here.
2012-08-21Fix a bug in dialyzer_dataflowHans Bolinder
2012-08-21Merge branch 'dgud/dialyzer_fixes' into maintDan Gudmundsson
* dgud/dialyzer_fixes: [et] Remove dead code (and fix dialyser warnings) [wx] Add callback option to event handler spec
2012-08-21Merge branch 'dgud/observer/bug-fixes/OTP-10075' into maintDan Gudmundsson
* 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
2012-08-21Add an undocumented option [--solver [v1 | v2]]Hans Bolinder
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.
2012-08-21Add an alternative implmentation of the typesignature solverHans Bolinder
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.
2012-08-20Merge branch 'pan/unicode_home/OTP-10160' into maintPatrik Nyblom
* 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
2012-08-20Merge branch 'slf/slf-relocate-dtrace-N-probes/OTP-10189' into maintFredrik Gustafsson
* slf/slf-relocate-dtrace-N-probes/OTP-10189: Relocate bodies of DTrace probes to the statically-linked VM.
2012-08-20Merge branch 'jkl/fix-filename-nativename/OTP-10188' into maintFredrik Gustafsson
* jkl/fix-filename-nativename/OTP-10188: Fix filename:nativename/1 on Win32 Add filename:nativename/1 binary argument test to suite
2012-08-17Merge branch 'siri/common_test/ct_netconfc/OTP-10025' into maintSiri Hansen
* 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
2012-08-17Relocate bodies of DTrace probes to the statically-linked VM.Scott Lystig Fritchie
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)
2012-08-17Merge branch 'bmk/snmp/snmp4221_integration2' into maintMicael Karlberg
2012-08-17Merge branch 'bmk/inets/inets591_integration' into maintMicael Karlberg
2012-08-17[common_test] Move ct_netconfc_SUITE into datadir and run with ct_test_supportSiri Hansen
2012-08-17[common_test] Don't abort test if opening of connection failsSiri Hansen
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.
2012-08-17[common_test] Don't allow named (required) connection to be opened twiceSiri Hansen
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}}.
2012-08-17[common_test] Don't abort test run if connection process crashesSiri Hansen
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.
2012-08-17[common_test] Add netconf client, ct_netconfcSiri Hansen
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}
2012-08-16[inets/httpd] Add another (cosmetic) printout for security test caseMicael Karlberg
2012-08-15Merge branch 'sverk/ets-compressed-binary-bug/OTP-10182' into maintSverker Eriksson
* sverk/ets-compressed-binary-bug/OTP-10182: Fix corrupted binaries in compressed ETS tables Make ETS compile with #define DEBUG_CLONE
2012-08-15Merge branch 'sverk/crypto-unaligned-aes-cfb/OTP-10136' into maintSverker Eriksson
* sverk/crypto-unaligned-aes-cfb/OTP-10136: crypto: Allow aes_cfb_128_{en|de}crypt to accept unaligned data
2012-08-15Merge branch 'gustav/asn1/enumerated_n2n/OTP-10144' into maintGustav Simonsson
* 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.
2012-08-15Merge branch 'gustav/asn1/integer_single_value_predefined/OTP-10139' into maintGustav Simonsson
* 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
2012-08-15Teach release_handler_SUITE about file:native_name_encoding/0Patrik Nyblom
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.
2012-08-15Merge branch 'gustav/asn1/per_integer_ranges/OTP-10128' into maintGustav Simonsson
* 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
2012-08-15Merge branch 'gustav/kernel/packages-docs-empty-func' into maintGustav Simonsson
* gustav/kernel/packages-docs-empty-func: Remove empty function in packages docs
2012-08-15Fix broken building of bootstrap compilerBjörn Gustavsson
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.
2012-08-15Merge branch 'bjorn/compiler/minor-fixes/OTP-10185' into maintBjörn Gustavsson
* 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
2012-08-15erl_lint: Add a deprecated warning for literal tuple funsBjörn Gustavsson
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.
2012-08-15beam_utils:live_opt/1: Correct handling of try_case_end/1Björn Gustavsson
Liveness for the try_case_end/1 instruction should be calculated in the same way as for the case_end/1 instruction.
2012-08-15Correct guard_SUITE_tuple_size.SBjörn Gustavsson
The number of live registers in the gc_bif instructions was wrong. It was not noticed because the beam_type pass silently corrected it.
2012-08-15beam_type: Print the offending function if this pass crashesBjörn Gustavsson
2012-08-15beam_validator: Validate the size operand in bs_init_bits and bs_init2Björn Gustavsson
2012-08-14Remove empty function in packages docsGustav Simonsson
2012-08-14Merge branch 'bmk/snmp/bad_decode_TimeTicks/maint/OTP-10132' into ↵Micael Karlberg
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
2012-08-14Merge branch 'tja/fix-base' into maintFredrik Gustafsson
2012-08-14Merge branch 'nox/compile-column-numbers' into maintFredrik Gustafsson
* nox/compile-column-numbers: Fix messages ordering with column numbers Fix type compile:err_info/0 Test column number reporting in error_SUITE Fix printing of errors with column numbers Create a new "column" option in compile Allow setting of initial position in epp Export type erl_scan:location/0
2012-08-14Add documetation about Unicode in environmentPatrik Nyblom
2012-08-14Make get/putenv and erlexec understand UnicodePatrik Nyblom
Putenv and getenv needs to convert to the proper environment strings in Unicode depending on platform and user settings for filename encoding. Also erlexec needs to pass environment strings in an appropriate way for kernel to pick up. All environment strings on the command line, as well as home directory, is now passed in UTF8 on windows and in whatever encoding you have on Unix, kernel tries to convert all parameters and environments from UTF8 before making strings.
2012-08-14Fix corrupted binaries in compressed ETS tablesSverker Eriksson
2012-08-13Merge branch 'mh/emacs-mode/atom-dollar/OTP-10178' into maintFredrik Gustafsson
* mh/emacs-mode/atom-dollar/OTP-10178: Fix highlighting of atoms ending with a dollar sign
2012-08-13[snmp] Add bug compatible fixes to TimeTicks decodeMicael Karlberg
Add handling of incorrectly encoded TimeTicks and Unsigned32.
2012-08-10Merge branch 'rc/eunit-2.2.3/OTP-10173' into maintFredrik Gustafsson
* rc/eunit-2.2.3/OTP-10173: Include fixture setup and cleanup errors in Eunit Surefire report documentation fixes add {test,M,F} as a better variant of {M,F} and make the latter obsolete minor cleanup Write chars as UTF-8 to file detect and report bad return values from generators and instantiators eunit_tests should not be listed in eunit.app improved layout of error messages - stack trace before error term bumped revision make stack trace pruning know about the new format Make EUnit print stacktraces with location information Add option 'no_tty' to silent the default tty report
2012-08-10Include fixture setup and cleanup errors in Eunit Surefire reportMagnus Henoch
An error during fixture setup means that some tests could not be run, and therefore needs to be highlighted in the test report. Likewise, a cleanup failure is often a problem that needs to be looked into. Since setup and cleanup are not part of any single test in Eunit's view, I include them as phantom test cases in the report whenever they fail.