aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-03-25compiler: Throw 'nomatch' on matching with bad binary keysBjörn-Egil Dahlberg
Even if a binary key is written as a literal the compiler may choose to make an expression. Emit a warning in those cases and saying the case will not match. This is a limitation in current implementation.
2014-03-25compiler: Variable keys are not allowed in MapsBjörn-Egil Dahlberg
No need to check for variables in Map keys.
2014-03-25compiler: Strengthen Maps warnings testsBjörn-Egil Dahlberg
Increases coverage.
2014-03-25compiler: map_pair cannot be a type clause in v3_lifeBjörn-Egil Dahlberg
Map pairs are encapsulated in a map.
2014-03-24compiler: Remove redudant code in v3_codegenBjörn-Egil Dahlberg
2014-03-24compiler: Test deep map structureBjörn-Egil Dahlberg
2014-03-24compiler: Remove redundant clause in v3_codegenBjörn-Egil Dahlberg
Multiple 'nil' cannot happen on instruction level. Map keys are always unique with literals.
2014-03-24compiler: Cover #{ [] => Var } in testcaseBjörn-Egil Dahlberg
Coverage removed by literals.
2014-03-24Merge branch 'hb/hipe/remove_debug_code'Hans Bolinder
* hb/hipe/remove_debug_code: hipe: Correct last commit of OTP-10342
2014-03-24hipe: Correct last commit of OTP-10342Hans Bolinder
Remove debug printouts.
2014-03-24Merge branch 'hb/stdlib/erl_lint_map_fix'Hans Bolinder
* hb/stdlib/erl_lint_map_fix: stdlib: warn if the type map() is redefined
2014-03-24stdlib: warn if the type map() is redefinedHans Bolinder
2014-03-24Merge branch 'hb/dialyzer/deprecate_types/OTP-10342'Hans Bolinder
* hb/dialyzer/deprecate_types/OTP-10342: hipe: Add a few clauses for maps in erl_types stdlib: Add more types to epp and erl_lint
2014-03-24hipe: Add a few clauses for maps in erl_typesHans Bolinder
2014-03-24stdlib: Add more types to epp and erl_lintHans Bolinder
2014-03-21Merge branch 'nox/reedr-closefrom'Henrik Nord
* nox/reedr-closefrom: Use closefrom(2) when available in child_setup Conflicts: erts/emulator/sys/unix/erl_child_setup.c OTP-11809
2014-03-21Merge branch 'glacjay/epmd-argv'Henrik Nord
* glacjay/epmd-argv: ensure argv large enough for all possible args OTP-11808
2014-03-21Merge branch 'fogfish/embedded-arm-android'Henrik Nord
* fogfish/embedded-arm-android: Raspberry PI / Android a minimal cross-compile configuration OTP-11805
2014-03-21Merge branch 'scrapinghub/empty_set_cookie'Henrik Nord
* scrapinghub/empty_set_cookie: Added a condition to ignore empty Set-Cookie header and tests for it OTP-11803
2014-03-21Merge branch 'nox/httpc-transfer-encoding-identity'Henrik Nord
* nox/httpc-transfer-encoding-identity: Support identity transfer-encoding in httpc OTP-11802
2014-03-21Merge branch 'yiannist/hipe-llvm-backend'Henrik Nord
* yiannist/hipe-llvm-backend: Support the LLVM backend in HiPE Implement the LLVM backend Extend RTL API to support the LLVM backend Add support for llvm unique symbols in hipe_gensym Add a BIF that only returns the atom ok Move some common code in hipe_pack_constants Add better specs in hipe_pack_constants and cleanup OTP-11801
2014-03-21Merge branch 'ia/inets/revert/OTP-11756'Ingela Anderton Andin
* ia/inets/revert/OTP-11756: inets: Continue CTify test suite inets: Enable https tests inets: Make test suites independent of each other inets: Reverted commmit f97cd6965ac35d1cbe510de23592956857d144c8
2014-03-21Merge branch 'master' of git-server:otpIngela Anderton Andin
2014-03-21Merge branch 'rickard/runtime-dep/OTP-11773'Rickard Green
* rickard/runtime-dep/OTP-11773: Documentation fix
2014-03-21Documentation fixRickard Green
2014-03-21Merge branch 'hb/dialyzer/guard_constr/OTP-11798'Hans Bolinder
* hb/dialyzer/guard_constr/OTP-11798: dialyzer: generalize guard constraints in a new way
2014-03-21dialyzer: generalize guard constraints in a new wayHans Bolinder
Guard constraints used to be limited to a certain depth, which handled mutually depending constraints safely, but also sometimes introduced unnecessary generalizations. This patch puts no explicit limit upon guard constraints (other than those that already exist in erl_types), but breaks cycles by replacing variables with the any() type. In some cases the old method resulted in more warnings, but since the limit was quite arbitrary and mutually depending guard constraints are (very) rare, the new method should been seen as an improvement since it handles cases that used to make Dialyzer loop or miss warnings.
2014-03-21Merge branch 'rickard/load-min-major/OTP-11799'Rickard Green
* rickard/load-min-major/OTP-11799: Introduce minimum allowed major driver and nif versions on load
2014-03-21Introduce minimum allowed major driver and nif versions on loadRickard Green
2014-03-21Raspberry PI / Android a minimal cross-compile configurationDmitry Kolesnikov
Enable a cross compile Erlang/OTP platform to Android or Raspberry PI using Android NDK. Port emulator and core application to support target HW platform. Exclude any add-on services required for OTP platform deployment into target hardware due to device fragmentation and jail-break requirements. * fix erts/emulator/beam/sys.h Disable redefinition of __noreturn macro * port erts/emulator/sys/unix/erl_child_setup.c Use techniques proposed by https://code.google.com/p/erlang4android to access system properties * fix erts/emulator/sys/unix/erl_unix_sys_ddll.c The static linking of emulator cannot find dlerror(), dlopen() symbols * port erts/emulator/sys/unix/sys.c make path to shell configurable at build time * port erts/etc/common/Makefile.in disable librt for *-linux-androideabi * port erts/lib_src/pthread/ethread.c Use techniques proposed by https://code.google.com/p/erlang4android to disable emulator crash if kernel threads are on. Replace unreliable pthread_sigmask() by sigprocmask() * port lib/erl_interface/src/connect/ei_connect.c Disable call to undefined gethostid() * port lib/erl_interface/src/connect/ei_resolve.c Use gethostbyname_r() on Android platform
2014-03-20Merge branch 'rickard/runtime-dep/OTP-11773'Rickard Green
* rickard/runtime-dep/OTP-11773: Introduce system_information:sanity_check() Verify runtime_dependencies when running 'otp_build patch_app' Add test-case verifying runtime dependencies found by xref Introduce runtime_dependencies in .app files Bump versions and ensure that all are "normal" versions
2014-03-20Introduce system_information:sanity_check()Rickard Green
2014-03-20Verify runtime_dependencies when running 'otp_build patch_app'Rickard Green
2014-03-20Add test-case verifying runtime dependencies found by xrefRickard Green
2014-03-20Introduce runtime_dependencies in .app filesRickard Green
Most dependencies introduced are exactly the dependencies to other applications found by xref. That is, there might be real dependencies missing. There might also be pure debug dependencies listed that probably should be removed. Each application has to be manually inspected in order to ensure that all real dependencies are listed. All dependencies introduced are to application versions used in OTP 17.0. This since the previously used version scheme wasn't designed for this, and in order to minimize the work of introducing the dependencies.
2014-03-20Bump versions and ensure that all are "normal" versionsRickard Green
Ensure all are "normal" versions according to the new version scheme introduced in OTP 17.0
2014-03-20Merge branch 'hb/dialyzer/unknown_warnings'Hans Bolinder
* hb/dialyzer/unknown_warnings: Introduce a new warning option, 'no_unknown' Return warnings for unknown types and functions in Erlang Mode
2014-03-20Merge branch 'vinoski/ds-enif-send'Rickard Green
* vinoski/ds-enif-send: enable enif_send to work from a dirty scheduler
2014-03-20Introduce a new warning option, 'no_unknown'Hans Bolinder
Not (yet) documented.
2014-03-20Return warnings for unknown types and functions in Erlang ModeHans Bolinder
The warnings about unknown types and functions are now returned when calling Dialyzer from Erlang, in particular from an escript. When calling Dialyzer from the command line the warnings about unknown types and functions are output last as before; and when using the GUI the warnings are displayed in a pop-up window, as before.
2014-03-20Merge branch 'hb/spec_related_fixes'Hans Bolinder
* hb/spec_related_fixes: test_server: Fix a Dialyzer warning Correct the contract of io:getopts() Fix some Dialyzer warnings
2014-03-20test_server: Fix a Dialyzer warningHans Bolinder
2014-03-20Correct the contract of io:getopts()Hans Bolinder
2014-03-20Fix some Dialyzer warningsHans Bolinder
Dialyzer recognizes a certain pattern that makes it possible to get rid of 'The created fun has no local return' warnings.
2014-03-20Merge branch 'ks/cerl-type-fixes'Björn-Egil Dahlberg
* ks/cerl-type-fixes: Restore the alphabetical order of Core Erlang records Clean up the types of cerl
2014-03-20Merge branch 'bjorn/erts/fix-lingering-tracer'Björn Gustavsson
* bjorn/erts/fix-lingering-tracer: Teach the call_time trace to notice when the trace dies (non-SMP system)
2014-03-20Merge branch 'bjorn/asn1/cleanup/OTP-11727'Björn Gustavsson
* bjorn/asn1/cleanup/OTP-11727: Clean up reporting of errors in IMPORTS asn1ct_check: Clean up error checking for INSTANCE OF asn1ct_check: Rewrite error checking for INTEGER and BIT STRING asn1ct_check: Remove unreachable clauses handling {identifier,_,_} asn1ct_check: Let asn1_error/3 throw its result
2014-03-20Merge branch 'bjorn/cuddle-with-tests'Björn Gustavsson
* bjorn/cuddle-with-tests: cover_SUITE:reconnect/1: Let the other side initiate the disconnect Attempt to provide more information if a test case fails prim_file_SUITE: Remove the short 5 seconds timetrap timeout shell_SUITE: Give bs_match_bin_SUITE/1 more time
2014-03-20Teach the call_time trace to notice when the trace dies (non-SMP system)Björn Gustavsson
The call_time trace is a special kind of tracing that requires a tracer process just like ordinary call trace, but it never actually sends anything to the tracer. It merely use the existence of a trace process (and call trace flags) as an indication that call_time tracing is active for the process. If the tracer dies in a non-SMP run-time system, processes with call_time tracing would not notice that the tracer had died. Furthermore, if the set_on_spawn flag was active, the dead tracer could be propagaged to newly spawned processes. Before accumulating trace information in a non-SMP system, always validate the tracer process. (In an SMP system, a reference to a dead tracer will be cleared away each time a process is scheduled.) While we could put all of the new code beam_bp.c, we have chosen to make a function call from beam_bp.c to a function in erl_trace.c for clarity's sake and to ease further maintenance. In the future, we might want to handle tracing in more similar ways in the SMP and non-SMP system.
2014-03-20Merge branch 'siri/master-cuddle-with-tests'Siri Hansen
* siri/master-cuddle-with-tests: Remove "coding: utf-8" from test files Change encoding for XML files to utf-8