aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-05-18Merge branch 'egil/percept/fix-unmatched_return/OTP-13595'Björn-Egil Dahlberg
* egil/percept/fix-unmatched_return/OTP-13595: egd: Fix unmatched return warnings egd: Small code style refactoring percept: Fix unmatched return warnings percept: Small code style refactoring
2016-05-18Merge branch 'dgud/tools/emacs/PR-1054/OTP-13610'Dan Gudmundsson
* dgud/tools/emacs/PR-1054/OTP-13610: Fix line-initial commas' indentation in type specs
2016-05-18Fix line-initial commas' indentation in type specsDániel Szoboszlay
Inside type specs, line-initial commas shall align with open curly braces. This also applies to record definitions with type specs for the fields. For example: -type foo() :: { a :: integer() , b :: integer() }. For type specs for functions, the commas shall align with the opening parenthese. So do a closing parenthese when put on a new line. For example: -spec foo( X :: integer() , Y :: integer() ) -> integer(). This does not affect coding styles that don't put commas at the beginning of lines.
2016-05-18Merge branch 'hasse/erl_docgen/datatype_anchors/OTP-13600/ERL-141'Hans Bolinder
* hasse/erl_docgen/datatype_anchors/OTP-13600/ERL-141: kernel: Remove no longer needed anchors in documentation stdlib: Remove no longer needed anchors in documentation erts: Remove no longer needed anchors in documentation erl_docgen: Add anchors to datatypes without name attribute
2016-05-18Merge branch 'bjorn/handle-bad-path/ERL-142'Björn Gustavsson
* bjorn/handle-bad-path/ERL-142: Tolerate bad directories in the code path
2016-05-18Merge branch 'bjorn/erts/raise-doc/OTP-13599'Björn Gustavsson
* bjorn/erts/raise-doc/OTP-13599: Remove the warning about using erlang:raise/3
2016-05-18Merge branch 'bjorn/erts/cuddle-with-tests'Björn Gustavsson
* bjorn/erts/cuddle-with-tests: time_SUITE: Make consistency/1 work in any timezone
2016-05-17Merge branch 'sverker/test-einode-core'Sverker Eriksson
2016-05-17Merge branch 'sverker/hipe-amd64-code-alloc/OTP-13359'Sverker Eriksson
This merge is actually only some left overs. The bulk work for hipe-amd64-code-alloc has already been merge (without ticket number) at 42a1166b47721cd444.
2016-05-17Merge branch 'sverker/runtime_tools/trace_ip_drv/OTP-13576/ERL-119'Sverker Eriksson
2016-05-17Merge branch 'sverker/trace-send-receive-matchspec/OTP-13507'Sverker Eriksson
Second merge of this branch to master with some more docs
2016-05-17Merge branch 'mikpe/otp-19-erts-integer-truncation-bugs/PR-1045/OTP-13606'Lukas Larsson
* mikpe/otp-19-erts-integer-truncation-bugs/PR-1045/OTP-13606: erl_unicode.c: fix integer truncation problems do not limit heap fragments to 4 giga-words erts_new_mso_binary(): do not truncate len Conflicts: erts/emulator/beam/erl_nif.c
2016-05-17Merge branch 'lukas/erts/max_heap_fix_erllvm/OTP-13174'Lukas Larsson
* lukas/erts/max_heap_fix_erllvm/OTP-13174: erts: Move max_heap_size field so that ErLLVM works again
2016-05-17erts: Move max_heap_size field so that ErLLVM works againLukas Larsson
2016-05-17Merge branch 'lukas/erts/re-openbsd-gcc-bug/OTP-13602'Lukas Larsson
* lukas/erts/re-openbsd-gcc-bug/OTP-13602: erts: Fix OpenBSD gcc compiler bug in re code
2016-05-17erts: Fix OpenBSD gcc compiler bug in re codeLukas Larsson
The OpenBSD 5.8 gcc compiler emits erroneous code which results in the re:run function behaving badly, though strangely enough it does not segfault the vm. This fix moves code around a bit in order to make gcc emit correct code.
2016-05-17Merge branch 'lukas/erts/tracing/fix-non-smp-trace/OTP-13503'Lukas Larsson
* lukas/erts/tracing/fix-non-smp-trace/OTP-13503: erts: Fix erl_tracer xml doc errors erts: Fix bug when tracing in non-smp non-scheduler thread
2016-05-17erts: Fix erl_tracer xml doc errorsLukas Larsson
2016-05-17erts: Fix bug when tracing in non-smp non-scheduler threadLukas Larsson
2016-05-17Merge branch 'dgud/wx/cmd-queue-bug'Dan Gudmundsson
* dgud/wx/cmd-queue-bug: Fix compilation warning wx: Fix generated defines in gl.hrl wx: Fix driver command queue
2016-05-17Merge branch 'jrobhoward/os_mon/fix-freebsd_get_os_wordsize/PR-1039/OTP-13601'Björn-Egil Dahlberg
* jrobhoward/os_mon/fix-freebsd_get_os_wordsize/PR-1039/OTP-13601: Fix memsup:get_os_wordsize() on 64-bit Linux PPC os_mon: Test wordsize of memsup:get_os_wordsize/0 Fix memsup:get_os_wordsize() on 64-bit FreeBSD
2016-05-17egd: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-17egd: Small code style refactoringBjörn-Egil Dahlberg
2016-05-17Merge remote-tracking branch 'origin/ingela/public_key/tests'Ingela Anderton Andin
* origin/ingela/public_key/tests: public_key: Remove test_server config macros and unsed hooks
2016-05-17percept: Fix unmatched return warningsBjörn-Egil Dahlberg
2016-05-17percept: Small code style refactoringBjörn-Egil Dahlberg
2016-05-17kernel: Remove no longer needed anchors in documentationHans Bolinder
2016-05-17stdlib: Remove no longer needed anchors in documentationHans Bolinder
2016-05-17erts: Remove no longer needed anchors in documentationHans Bolinder
2016-05-17erl_docgen: Add anchors to datatypes without name attributeHans Bolinder
db_html.xsl generates anchors for data types referred to by strings (instead of 'name' attributes). For example: <datatype> <name>edge()</name> </datatype> generates: <p><a name="type-edge"><span class="bold_code">edge()</span></a><br></p>
2016-05-17Merge branch 'egil/egd/improve-line/OTP-13598'Björn-Egil Dahlberg
* egil/egd/improve-line/OTP-13598: egd: Save images during tests egd: Use anti-aliasing for lines egd: Add more line tests egd: Add line thickness algorithm for lines egd: Use maps to map height to line spans egd: Refactor precompile objects egd: Refactor object_on_line egd: Refactor primitives style egd: Improve span calculation
2016-05-17Merge branch 'ingela/inets/dialyzer'Ingela Anderton Andin
* ingela/inets/dialyzer: inets: httpd_util:split does not return {error, Reason}
2016-05-16Merge branch 'hairyhum/eldap/ignore_tcp_errors_at_close/PR-1048/OTP-13590'Hans Nilsson
* hairyhum/eldap/ignore_tcp_errors_at_close/PR-1048/OTP-13590: indentation Ignore tcp errors during close request to eldap
2016-05-16Merge branch 'hans/ssh/badmatch'Hans Nilsson
2016-05-16inets: httpd_util:split does not return {error, Reason}Ingela Anderton Andin
Fix return value handling that was missed when code was refactored to use re-module.
2016-05-16Tolerate bad directories in the code pathBjörn Gustavsson
A bad directory in the path would prevent the run-time system from starting: $ echo >foobar $ erl -pa foobar {"init terminating in do_boot",{load_failed,[supervisor,kernel,gen_server,file_io_server,filename,file,erl_parse,error_logger,code_server,erl_lint,proc_lib,code,application_controller,application_master,gen_event,application,error_handler,lists,heart,gen,file_server,ets,erl_eval]}} Crash dump is being written to: erl_crash.dump...done init terminating in do_boot () The reason is that when attempting to read each of the BEAM files, there would be an 'enotdir' error which erl_prim_load:get_modules/2,3 assumed was a fatal error. Update erl_prim_load:get_modules/2,3 to ignore any error and try the next directory in the path. Reported-by: http://bugs.erlang.org/browse/ERL-142 Reported-by: Michael Truog
2016-05-16Fix memsup:get_os_wordsize() on 64-bit Linux PPCBjörn-Egil Dahlberg
2016-05-16os_mon: Test wordsize of memsup:get_os_wordsize/0Björn-Egil Dahlberg
Simple test against erlang:system_info({wordsize,external}).
2016-05-16Remove the warning about using erlang:raise/3Björn Gustavsson
There is no good reason to say that erlang:raise/3 is only for debugging. Here is an example where it can be extremely useful: try do_something(Args) catch Class:Error -> Stack = erlang:get_stacktrace(), io:format("Args: ~p\n", [Args]), erlang:raise(Class, Error, Stack) That is, we can let it crash, but log additional useful information before crashing. Noticed-by: Per Hedeland
2016-05-16Merge branch 'mururu/os_mon/cpu-sup-osx/PR-1049/OTP-13597'Björn-Egil Dahlberg
* mururu/os_mon/cpu-sup-osx/PR-1049/OTP-13597: os_mon: Implement cpu_sup:util/0,1 on OSX
2016-05-16Merge branch 'egil/common_test/fix-doc-lint'Björn-Egil Dahlberg
* egil/common_test/fix-doc-lint: common_test: Fix doc tags of ct_netconfc
2016-05-16Merge branch 'ingela/ssl/cipher-suites-refactor'Ingela Anderton Andin
* ingela/ssl/cipher-suites-refactor: ssl: Refactor to make code easier to understand
2016-05-16Fix compilation warningDan Gudmundsson
2016-05-16Merge branch 'kostis/dialyzer/opaque_type/OTP-13586/PR-1047'Hans Bolinder
* kostis/dialyzer/opaque_type/OTP-13586/PR-1047: Declare the erl_types:var_table() type as opaque
2016-05-16Update primary bootstrapBjörn Gustavsson
2016-05-16Merge branch 'bjorn/compiler/beam_bool/ERL-143'Björn Gustavsson
* bjorn/compiler/beam_bool/ERL-143: Eliminate crash in beam_bool Add beam_bool_SUITE Add missing test cases in andor_SUITE and beam_block_SUITE
2016-05-16Merge branch 'bjorn/compiler/misc'Björn Gustavsson
* bjorn/compiler/misc: beam_utils: Correct break in conventions for split_even/1 and join_even/1 beam_utils: Remove clause checking for illegal set/4 instruction beam_utils: Simplify the return value for check_liveness/3 beam_utils: Remove unused code beam_utils: Let code_at/2 fail if the label does not exist beam_utils: Remove unused handling of try/3 in live_opt/4 beam_utils: Correct translation of BIFs to tests core_pp: Remove uncovered clause in is_simple_term/1 core_pp: Crash on unhandled Core Erlang forms core_pp: Remove unused clauses in unindent/3 to improve coverage core_pp: Remove useless try...catch core_pp: Simplify printing of map literals compile_SUITE: Cover numeric variable names in core_pp compile_SUITE: Eliminate clones when re-compiling test suites test_lib: Add is_cloned_mod/1 trycatch_SUITE: Cover the only uncovered line in sys_core_fold test_lib: Correct calculation of number of processes
2016-05-16Eliminate crash in beam_boolBjörn Gustavsson
beam_bool would crash when attempting to optimize BEAM code similar to this code: bif '=:=' Reg1 SomeValue => y(0) bif '=:=' Reg2 {atom,true} => x(2) bif '=:=' Reg3 {atom,true} => x(3) bif 'or' x(2) x(3) => x(2) is_eq_exact Fail x(2) {atom,true} The problem is that the first instruction that assigns a value to a Y register. beam_bool:ssa_assign/2 will not accept a Y register argument. We could change ssa_assign/2 to accept a Y register, but that would only cause the entire optimization to be rejected later because the Y register is alive in the code that follows. Therefore, a better solution is to modify extend_block/3 so that the instruction that assign to Y registers are not added to the block. That is, the optimizer will only operate on the following code: bif '=:=' Reg2 {atom,true} => x(2) bif '=:=' Reg3 {atom,true} => x(3) bif 'or' x(2) x(3) => x(2) is_eq_exact Fail x(2) {atom,true} Usually the optimization will succeed, rewriting the four instructions to a select_val instruction. Assembly code such as the above can be produced by code similar to: Y = Something == SomethingElse, case Y of Condition; OtherCondition -> . . . end, . . ., Y. Reported-by: http://bugs.erlang.org/browse/ERL-143 Reported-by: José Valim
2016-05-16Add beam_bool_SUITEBjörn Gustavsson
It's time that we have a dedicated test suite for beam_bool.
2016-05-16Add missing test cases in andor_SUITE and beam_block_SUITEBjörn Gustavsson
Two test cases were not actually run. Even if their main purpose is to ensure that the compiler doesn't crash, we always try to also run the test case (when practial) to also ensure that the generated code is correct.