Age | Commit message (Collapse) | Author |
|
* bjorn/compiler/dialyzer-warnings:
compile: Eliminate warnings for unmatched return values
beam_receive: Eliminate dialyzer warning for unmatched return
beam_validator: Eliminate dialyzer warnings for unmatched returns
|
|
* bjorn/stdlib/erl_lint-coverage:
Test calling deprecated or removed functions
Test deprecating list_to_atom/1 to cover more code
Cover binary syntax errors and warnings
Remove unused error message {bittype_mismatch,_,_,_}
Remove unused error message for importing an auto-imported BIF
Remove the error message for future reserved keyword
Test a few more kinds of illegal guard expressions
Remove error handling for calling a BIF that is not auto-imported
Provoke basic semantic errors to improve test coverage
|
|
* nox/fix-seq-opt/OTP-10818:
Add two tests for unused multiple values in effect context
Forbid multiple values in Core Erlang sequence arguments
|
|
* mh/duplicate_name_error_message/OTP-10797:
Slightly nicer error message when node start fails due to duplicate name
|
|
|
|
|
|
|
|
The assert_fls/2 and assert_type/3 functions both return the
Vst passed to them, but all callers ignore the return value.
Given the name of the functions, they are not expected to return
anything. Make it so by changing the return value to 'ok'.
There are two calls to bsm_get_context/2 used only to validate
that the match context is valid. Call bsm_validate_context/2
instead.
In bsm_validate_context/2, explicitly match the return value of
bsm_get_context/2 to '_' to make it clear that it is not used.
|
|
* jv/cover-patches/OTP-10778:
Fix a bug in cover when used with no_auto_import
Ensure cover keeps the proper file source
cover now relies on the compile info to find file sources
|
|
|
|
* bjorn/remove-packages/OTP-10348:
kernel docs: Remove references to specs_packages.xml
|
|
* bjorn/compiler/crash/OTP-10794:
Test setelement(1, not_a_tuple, NewValue)
Fix crash in the compiler when compiling element(2, not_a_tuple)
|
|
* bjorn/compiler/float/OTP-10788:
beam_type: Convert integer to float at compile time
compiler: Use the literal pool for floating point constants
|
|
|
|
It does not make sense to return multiple values from a sequence
argument and the Kernel Erlang passes can't cope with it.
The linting pass now knows how to detect this kind of defunct code and
the Core code folding pass is changed to not generate code like that
when optimizing away multiple-valued lets in effect mode.
Reported-by: José Valim
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There are currently no keywords reserved for the future.
|
|
|
|
All guards BIFs are auto-imported. That can be verified like this:
[] = [{F,A} || {erlang,F,A} <- erlang:system_info(snifs),
erl_internal:guard_bif(F, A),
not erl_internal:bif(F, A)]
Therefore, calling a guard BIF in a guard without a module name
is always allowed (provided that there is not a local function or
an import with the same name), and therefore we can remove the
error reporting code. But keep an assertion so that we will find
out if any non-auto-imported guard BIFs are added in the future.
|
|
|
|
In code such as:
X / 2
the following code would be output from beam_type for the division:
{fconv,{x,0},{fr,0}}.
{fconv,{integer,2},{fr,1}}.
fclearerror.
{bif,fdiv,{f,0},[{fr,0},{fr,1}],{fr,0}}.
That is, the integer 2 would be converted to the float 2.0 at
run-time by "{fconv,{integer,2},{fr,1}}". Make sure that we do
the conversion at compile time.
Noticed-by: Richard O'Keefe
|
|
The BEAM loader will put floating point constants into the
literal pools for the module, but it will not check for duplicates.
We can do much better by having the compiler use the literal
pool for floating point constants.
|
|
|
|
|
|
|
|
This reverts commit a0e362765d9d4afb0211f49eb787d2139b3eb7be.
Conflicts:
erts/vsn.mk
|
|
* sa/dialyzer-minor-fixes/R16A:
Fix wording of error message
Fix reference results of a Dialyzer test
|
|
|
|
|
|
* pan/wx_and_gcc45:
Make Mac wx use Apple compilers regardless of $CC
|
|
* sverk/ets-write_concurrency-locks:
erts,stdlib: Increase number of locks for write_concurrency
OTP-10787
|
|
|
|
* fredrik/ssh/dialyzer-and-doc:
Fixed some broken links in ssh doc
Fixed some ssh documentation
|
|
|
|
* sverk/ic/tests:
ic: Making tests pass after changes in erl_interface and jinterface
ic: Revert --enable-silent-rules for test Makefile
OTP-10785
|
|
* lukas/erl_interface/test_atom_as_functions/OTP-10753:
Return if size test fails
Add utf8 atom encode and decode testcases
Validate UTF8/ASCII when buf is NULL
|
|
* ia/ssh/dialyzer-and-doc:
ssh: Fix dialyzer and doc warnings
|
|
* peppe/common_test/testspec_include:
Fix failing test case
OTP-9881
|
|
OTP-9881
|
|
* fredrik/dialyzer/fix-tc-data:
Testcase expecting newline
|
|
* peppe/common_test/testspec_include:
Fix problem with tests running in wrong order
OTP-9881
|
|
OTP-9881
|
|
* origin/peppe/common_test/restore_config:
Add verification terms in test suite
Add test case to verify that config data gets properly restored
OTP-10070
|
|
* peppe/common_test/testspec_include:
Add more tests
Update documentation
Add tests and correct errors
Update CT Master
Implement support for including test specifications
Make it possible to execute one test run per test specification
Conflicts:
lib/common_test/src/ct_master.erl
lib/common_test/src/ct_run.erl
lib/common_test/src/ct_testspec.erl
OTP-9881
|
|
|