Age | Commit message (Collapse) | Author |
|
* maint:
Update primary bootstrap
erl_lint: Disallow call to is_record/3 if there is a local is_record/3
Fix crash in trace_info({M,F,A}, Flags) when M:F/A has native code
Ensure that generated record operations don't call local functions
|
|
* bjorn/erts/fix-hipe-crash/OTP-9886:
Fix crash in trace_info({M,F,A}, Flags) when M:F/A has native code
|
|
|
|
* bjorn/compiler/bif-call-bug/OTP-9866:
erl_lint: Disallow call to is_record/3 if there is a local is_record/3
Ensure that generated record operations don't call local functions
|
|
Attempting to call is_record/3 (without an erlang: prefix) from a
guard if there was a local function named is_record/3 would cause
a compiler crash. For consistency with other guard tests, disallow
the call.
is_record/2 in a guard will still be allowed (and work correctly)
even if there is a local is_record/2. It could be argued that
is_record/2 should be handled in the same way as is_record/3,
but changing that now could break working code.
|
|
* maint:
compile_SUITE: Eliminate race condition
|
|
Compiling the same source code with the same options may not produce
the same BEAM file because the compilation time is included in the
"CInf" chunk.
|
|
|
|
* maint:
Update primary bootstrap
compiler: Correct live calculation when get/1 is used in try...catch
|
|
|
|
* bjorn/compiler/get-in-try/OTP-9867:
compiler: Correct live calculation when get/1 is used in try...catch
|
|
* maint:
Look for port in priv/bin/arch/ as well as priv/bin/
Fix on_load handling in modules loaded by code:load_binary/3
|
|
* lukas/os_mon/work_in_source_tree/OTP-9883:
Look for port in priv/bin/arch/ as well as priv/bin/
|
|
* bjorn/kernel/on_load-bug/OTP-9875:
Fix on_load handling in modules loaded by code:load_binary/3
|
|
|
|
|
|
* raimo/parallel-make/OTP-9857:
hipe: Fix rtl dependencies
erts: Simplify toplevel makefile due to better dependencies
erts: Fix make omissions for void emulators
erts: Fix dependencies between targets generate and depend
erts: Cleanup dependencies for target generate
erts,tools: Fix parallel make for erts/lib_src
erts: Fix parallel make for emulator zlib
Conflicts:
erts/emulator/Makefile.in
|
|
Consistently use external (remote) calls to the BIFs element/2,
setelement/3, and is_record/3.
|
|
* maint:
Correct two contracts in gen_sctp.erl
|
|
* hb/kernel/correct_contracts/OTP-9874:
Correct two contracts in gen_sctp.erl
|
|
|
|
|
|
* egil/fix-profiler-pid:
erts: Do not profile profiler pid (non smp)
erts: Do not profile profiler pid (smp)
Revert "erts: Do not profile system profiler pid"
|
|
|
|
|
|
* Make generate and depend.mk automatically.
* Do not make depend.mk for targets clean and generate.
* Remove old replaced CREATE_DIRS cruft.
* Fiercer remove by target clean.
* Move depend.mk to Target/Type/Flavor directory.
|
|
In "13.4 Running a function when a module is loaded" in the
Reference Manual, it is said that:
A process that calls any function in a module whose on_load
function has not yet returned will be suspended until the
on_load function has returned.
That did not work if the module was loaded using code:load_binary/3.
Instead, the callers would get an 'undef' exception.
|
|
|
|
|
|
|
|
binary should be binary().
|
|
|
|
* jz/error-logic-efile_sendfile:
erts: minor fix for unnecessary condition
OTP-9872
|
|
* jz/sendfile_chunk_size:
erts: change SENDFILE_CHUNK_SIZE from signed to unsigned
Conflicts:
erts/emulator/drivers/unix/unix_efile.c
OTP-9872
|
|
* henrik/wx/fix-pdf-name/OTP-9850:
Change the name of generated pdf file for documentation consistency
|
|
* bmk/inets/inets581_integration/r15:
[inets/httpc] The client incorrectly streams 404 responses
[inets/httpc] Add proper code change code
[inets/httpc] Add test case
[inets] Add proper release notes for OTP-9847
[inets/httpc] Fix the selection of session for keep-alive mode When selecting a session, the "state" of the session (specifically if the server has responded) was not taken into account. Attempting to fix this, a "state" field (actually available) has been added to the session record.
[ftp] Fails to open IPv6 connection
|
|
Merge from R14B integration branch (for inets-5.7.3) and
fixed appup and corresponding code-change code to work
in new version (inets-5.8.1).
Also some minor (R15B specific) test suite fixes.
Merge branch 'bmk/inets/inets573_integration' into bmk/inets/inets581_integration/r15
Conflicts:
lib/inets/doc/src/notes.xml
lib/inets/src/http_client/httpc_internal.hrl
lib/inets/src/inets_app/inets.appup.src
lib/inets/vsn.mk
|
|
|
|
|
|
In the following code excerpt, the instruction marked below was
incorrectly removed:
.
.
.
{'try',{y,2},{f,TryCaseLabel}}.
{bif,get,{f,0},[{x,0}],{x,0}}.
{move,{x,1},{y,0}}.
{move,{x,3},{y,1}}. <======= Incorrectly removed
{jump,{f,TryEndLabel}}.
{label,TryEndLabel}.
{try_end,{y,2}}.
{deallocate,3}.
return.
{label,TryCaseLabel}.
{try_case,{y,2}}.
.
.
.
beam_utils indicated that {y,1} was not used at TryEndLabel,
which by itself is correct. But it is still not safe to remove
the instruction, because {y,1} might be used at TryCaseLabel
if an exception occurs.
Noticed-by: Eric Merritt
|
|
* maint:
Update primary bootstrap
erl_lint: Consistently reject local calls from guards
|
|
|
|
* bjorn/compiler/bif-call-bug/OTP-9866:
erl_lint: Consistently reject local calls from guards
|
|
|
|
* egil/fix-error_logger-calendar/OTP-9854:
stdlib: Refactor to tag all times in error logger
stdlib: Use utc time as base in error logger
|
|
* raimo/64-bit-efile_drv/OTP-9820:
file_SUITE: Assume 64-bit windows has enough memory
erts: Badarg if port output overflows iov_len
prim_file_SUITE: large_file success depends on wordsize
file_SUITE: Increase timeout for large_file
file_SITE,prim_file_SUITE: Accept old OpenBSD pecularity
prim_file_SUITE: large_write - meaner test data and check result content
file_SUITE: large_write - check mem size before creating huge binary
erts: rewrite efile_writev to handle partial writes correctly
erts: Bugfix - driver_deq freed wrong length due to short type (int)
prim_file_SUITE: Add large_write/1
file_SUITE: Add large_write/1
file_SUITE: Refactor large_file/1
file_SUITE: Fix unix_free/1
|
|
If a guard test (such as is_list/1) has a local definition in a
module (or is imported), erl_lint will reject a call to it from
a guard if the call is not at the top-level:
foo(L) when is_list(L) =:= true -> %% Will be rejected.
ok.
is_list(_) -> ok.
But if the call is at the top-level, it will be accepted (and
cause a crash in a later compiler pass):
foo(L) when is_list(L) -> %% Will be accepted by erl_lint
ok.
is_list(_) -> ok.
This inconsistency was an oversight introduced when it became
possible to override BIFs with local definitions.
|
|
* bmk/snmp/snmp4215_integration/r15:
[snmp] Fixed release notes. Used wrong ticket number
[snmp/agent] Updated appup file
[snmp/agent] Updated release notes
[snmp/agent] Removed the (unused) serializer part
[snmp/agent] Use unique temporary file name during vacm table dumnping
[snmp/agent] Add common timestamp format function.
[snmp/agent] Synchronization feature added
[snmp/agent] Creating a unique temporary file whe dumping vacm
[snmp/agent] Changed version
[snmp/agent] Found another old-style fun (2-tuple)
[snmp/agent] Removed use of old style tuple funs
|
|
bmk/snmp/snmp4215_integration/r15
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/doc/src/notes_history.xml
lib/snmp/src/app/snmp.appup.src
lib/snmp/vsn.mk
|
|
|