Age | Commit message (Collapse) | Author |
|
* maint:
dialyzer: correct record updates
|
|
Correct a bug introduced in commit 8498a3.
|
|
* siri/sup-spec-maps/OTP-11043:
Update emacs skeleton for supervisor to use maps
Update dialyzer test with maps in supervisor properties
Add documentation of maps in supervisor flags and child specs
Add test of maps in supervisor flags and child specs
New function supervisor:get_childspec/2
Allow maps for supervisor flags and child specs
Rebase supervisor
Add more tests of supervisor
|
|
After introducing maps for supervisor flags and child specs two tests
in behaviour_SUITE started failing:
behaviour_SUITE:custom_sup - failed because the type of the Period
(MaxT) property had been changed (corrected) from non_neg_integer() to
pos_integer() in the specification of the init callback in
supervisor.erl
behaviour_SUITE:supervisor_incorrect_return - same as above, plus the
introduction of #{} as possible value for the supervisor flags and
child_specs.
|
|
The compiler option 'asm' has been replaced by 'from_asm' in
Erlang/OTP 18.0.
|
|
* maint:
dialyzer: do a minor re-factoring
dialyzer: Ignore ERL_COMPILER_OPTIONS when compiling
dialyzer: fix bug concerning compiler option 'warnings_as_errors'
|
|
A minor re-factoring and generalization.
|
|
If, for instance, 'warn_unused_import' is present in
ERL_COMPILER_OPTIONS then many files in Erlang/OTP (Kernel, STDLIB,
...) cannot be analyzed by Dialyzer since the option is not present
when compiling Erlang/OTP, but 'warnings_as_errors' is.
The case that ERL_COMPILER_OPTIONS contains 'warnings_as_errors' can
only be handled by ignoring ERL_COMPILER_OPTIONS.
|
|
A typical scenario: the type digraph() is used in R16 (compilation
with the option 'warnings_as_errors' results in no warning); then the
module is analyzed by a 17 Dialyzer where digraph() is obsolete, and
since the warning is turned into an error Dialyzer fails to load the
module.
Thanks to Michael Truog.
|
|
|
|
As noted on the erlang-bugs mailing list:
http://erlang.org/pipermail/erlang-bugs/2014-July/004518.html
|
|
=== OTP-17.3 ===
Changed Applications:
- asn1-3.0.2
- common_test-1.8.2
- compiler-5.0.2
- crypto-3.4.1
- dialyzer-2.7.2
- diameter-1.7.1
- edoc-0.7.15
- erl_docgen-0.3.6
- erl_interface-3.7.18
- erts-6.2
- eunit-2.2.8
- hipe-3.11.1
- ic-4.3.6
- inets-5.10.3
- jinterface-1.5.10
- kernel-3.0.3
- megaco-3.17.2
- mnesia-4.12.3
- observer-2.0.2
- odbc-2.10.21
- os_mon-2.3
- ose-1.0.1
- public_key-0.22.1
- sasl-2.4.1
- snmp-5.1
- ssh-3.0.5
- ssl-5.3.6
- stdlib-2.2
- tools-2.7
- wx-1.3.1
Unchanged Applications:
- cosEvent-2.1.15
- cosEventDomain-1.1.14
- cosFileTransfer-1.1.16
- cosNotification-1.1.21
- cosProperty-1.1.17
- cosTime-1.1.14
- cosTransactions-1.2.14
- debugger-4.0.1
- eldap-1.0.3
- et-1.5
- gs-1.5.16
- orber-3.7
- otp_mibs-1.0.9
- parsetools-2.0.11
- percept-0.8.9
- reltool-0.6.6
- runtime_tools-1.8.14
- syntax_tools-1.6.16
- test_server-3.7.1
- typer-0.9.8
- webtool-0.8.10
- xmerl-1.3.7
Conflicts:
OTP_VERSION
erts/vsn.mk
|
|
|
|
|
|
|
|
* fishcakez/dialyzer_beam_opts:
Use compile options when dialyzing beam files
|
|
* maint:
dialyzer, hipe: Fix a bug concerning is_record/2,3
|
|
Also fixed some cases where Dialyzer could crash due to reaching
system limits.
|
|
* maint:
dialyzer: fix a -Wunderspecs bug
|
|
Sometimes bogus warnings were generated for parametrized types.
Thanks to Krzesimir Sarnecki for pointing the bug out.
Also corrected warnings where the structure of opaque types were
exposed (thanks to Kostis for pointing the bug out).
|
|
Fetch the compile options from beam files, and use them when creating
core from the abstract code. Previously the options were ignored.
Test by Henrik Nordh
|
|
* maint:
hipe: Correct pretty-printing of bitstrings
|
|
|
|
=== OTP-17.1 ===
Changed Applications:
- asn1-3.0.1
- common_test-1.8.1
- compiler-5.0.1
- crypto-3.4
- debugger-4.0.1
- dialyzer-2.7.1
- diameter-1.7
- erl_interface-3.7.17
- erts-6.1
- hipe-3.11
- inets-5.10.2
- kernel-3.0.1
- mnesia-4.12.1
- observer-2.0.1
- reltool-0.6.6
- ssh-3.0.3
- ssl-5.3.5
- stdlib-2.1
- syntax_tools-1.6.15
- test_server-3.7.1
- tools-2.6.15
- typer-0.9.8
- wx-1.3
Unchanged Applications:
- cosEvent-2.1.15
- cosEventDomain-1.1.14
- cosFileTransfer-1.1.16
- cosNotification-1.1.21
- cosProperty-1.1.17
- cosTime-1.1.14
- cosTransactions-1.2.14
- edoc-0.7.13
- eldap-1.0.3
- erl_docgen-0.3.5
- et-1.5
- eunit-2.2.7
- gs-1.5.16
- ic-4.3.5
- jinterface-1.5.9
- megaco-3.17.1
- odbc-2.10.20
- orber-3.6.27
- os_mon-2.2.15
- ose-1.0
- otp_mibs-1.0.9
- parsetools-2.0.11
- percept-0.8.9
- public_key-0.22
- runtime_tools-1.8.14
- sasl-2.4
- snmp-4.25.1
- webtool-0.8.10
- xmerl-1.3.7
|
|
|
|
|
|
* egil/fix-doc-links:
doc: Fix broken links in Installation Guide
doc: Fix broken links
|
|
* maint:
[dialyzer] Correct a doc bug introduced in 0b041238
[dialyzer] Use the option 'dialyzer' to control the compiler
[dialyzer] Fix handling of literal records
|
|
|
|
|
|
|
|
This ticket is about records in Erlang code, and when to check the
fields against the (optional) types given when defining records.
Dialyzer operates on the Erlang Core format, where there are no trace
of records. The fix implemented is a Real Hack:
Given the new option 'dialyzer' erl_expand_records marks the line
number of records in a way that is undone by v3_core, which in turn
inserts annotations that can be recognized by Dialyzer.
|
|
* maint:
[dialyzer] Correct docs about options
|
|
|
|
|
|
* egil/fix-maps-pretty-layout/OTP-11947:
dialyzer: Add Maps type mismatch test
hipe,compiler: Fix Map literals pretty printing
|
|
* maint:
hipe: fix a bug concerning typed record fields
|
|
|
|
* maint:
hipe: fix a bug concerning typed record fields
|
|
When checking typed record fields Dialyzer failed to handle
types containing remote types.
Thanks to Erik Søe Sørensen for reporting this bug.
|
|
The pre-defined types array(), dict(), digraph(), gb_set(), gb_tree(),
queue(), set(), and tid() have been removed.
|
|
|
|
|
|
Dialyzer sometimes output warnings like
Attempt to test for inequality between a term of type 'false' and a
term of opaque type 'false' | gb_set()
The reason was that erl_types:t_inf/3 when called from
erl_types:t_find_unknown_opaque() did not return 'false' but found the
mismatch. It should not return the mismatch unless the intersection is
empty ('none').
Thanks to Shayan Pooya [[email protected]] for pointing out the bug.
|
|
The option `warn_export_vars` was erroneously written as `warn_exported_vars`
in Makefiles of dialyzer and typer. As a result, `erlc` was silent about such
warnings (why on earth doesn't it complain on unrecognized options??) which
were corrected as part of this change.
|
|
|
|
* ks/hipe-is_map-support/OTP-11831:
Reinstate native code compilation of cerl and erl_types
Take out no_native compiler attribute
Add support for the compilation of the is_map/1 guard to native code
Add 'map' to the set of icode_type_test()s
Support the translation of the is_map BEAM instruction to Icode
|
|
|
|
On SMPs, the time reports that Dialyzer produced when crashing were
inaccurate. Fix this by using wall_clock rather than runtime.
|
|
Two steps are needed to make this work:
1) Avoid generating the additional "apply_constraint" in dialyzer_typesig by
reporting every function argument as a potential external function (patch on
dialyzer_dep).
This will produce correct success typings for all functions in the test case,
but dataflow would miss the key warnings that help identify the bugs.
2) Patch dialyzer_dataflow so that it uses the "handle just external" path as a
fallback whenever there are any external calls. As a result, if we have info
about some paths, then:
a) use the old "handle known apply" code to mark these functions as used and
b) ignore the generalized result and use the one found by typesig for the
return value of the apply itself.
|