Age | Commit message (Collapse) | Author |
|
* 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.
|
|
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.
|
|
* bjorn/compiler/get-in-try/OTP-9867:
compiler: Correct live calculation when get/1 is used in try...catch
|
|
* 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.
|
|
* hb/kernel/correct_contracts/OTP-9874:
Correct two contracts in gen_sctp.erl
|
|
|
|
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().
|
|
* henrik/wx/fix-pdf-name/OTP-9850:
Change the name of generated pdf file for documentation consistency
|
|
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
|
|
* 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
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
|
|
OTP-9783
|
|
* ia/ssh/test-maint:
Remove generation of new test keys, use checked in test keys
Improve test case structure so that test should pass on all platforms
Exec test case should ignore stderr messages
Do not run ssh_to_openssh_SUITE if there is no oppenssh server running
|
|
* raimo/opu-fixes:
inet_res_SUITE: Improve portability of run-named
|
|
Use a make timestamp file to condense dependencies to some
part(s) of erts/lib_src build results.
|
|
bmk/inets/inets573_integration
Conflicts:
lib/inets/doc/src/notes.xml
lib/inets/src/inets_app/inets.appup.src
|
|
The client incorrectly streams 404 responses. The documentation
specifies that only 200 and 206 responses shall be streamed.
OTP-9860
|
|
* alind/public_key/gitignore_fix:
[public_key] Fix .gitignore to use relative paths
|
|
|
|
bmk/snmp/snmp4215_integration/r14
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/src/app/snmp.appup.src
|
|
|
|
OTP-9851
|
|
OTP-9851
|
|
Removed the use synchronization mechanism during vacm table dumping.
This could not be placed in the master agent since it was sometimes
used from the master agent. Also is was credated and used from the
top agent supervisor, befor the master agent process was created...
OTP-9851
|
|
OTP-9851
|
|
OTP-9851
|
|
Attempting to create a unique temporary file when dumping the
vacm table to disk.
OTP-9851
|
|
* sverk/wait_for_test_procs:
stdlib: Enable unused 'end_per_testcase' in ets_SUITE
|
|
There is no need to generate new test keys every time, they do not
have a timestamp as certificates. This also reduces the need to duplicate
test code from public_key.
|
|
|
|
|
|
|
|
* bjorn/compiler/tests:
compile_SUITE: Add test of 'sys_pre_attributes'
Correct syntax in compiler.cover
Cover v3_kernel:get_line/1
core_SUITE: Cover the nomatch_shadow warning in v3_kernel
core_SUITE: Cover v3_kernel:build_match/2
bs_match_SUITE: Add a test case to cover bsm_ensure_no_partition_2/5
core_fold_SUITE: Cover sys_core_fold:is_safe_bool_expr_1/3
core_SUITE: Cover sys_core_fold:eval_is_boolean/2
core_SUITE: Cover sys_core_fold:make_effect_seq/2
beam_validator_SUITE:beam_files/1: Validate modules in parallel
compilation_SUITE: Compile compiler modules in parallel
compilation_SUITE: Prevent cover from being run on slave nodes
test_lib:p_run/2: Be careful about how many parallel processes we use
Remove part_eval_SUITE
|
|
|
|
* egil/revert-type-information:
syntax_tools: Remove warnings of missing types
hipe: Remove warnings of missing types in records
syntax_tools: Suppress warning of unused variable
Revert "hipe: Add type information to cfg_info record"
Revert "syntax_tool: Add missing type information"
|
|
Temporary workaround until there is a memory info function
conveniantly usable from test suites.
|
|
* hb/dialyzer/nowarn_unused_function/OTP-9833:
Handle nowarn_unused_function like the compiler does
|
|
* Just remove the warnings, not fixing the actual problem.
|