aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer
AgeCommit message (Collapse)Author
2015-02-12[dialyzer] Fix a bug concerning map() typesHans Bolinder
2015-02-10[dialyzer] Fix a bug concerning map() typesHans Bolinder
It is allowed in Erlang/OTP 17 to redefine the map() types. However, Dialyzer did not handle local map() types correctly.
2015-01-14dialyzer: Introduce module local suppression of warningsHans Bolinder
The -dialyzer() attribute can be used for suppressing warnings in a module by specifying functions or warning options. It can also be used for requesting warnings in a module.
2014-12-10Merge tag 'OTP-17.4'Marcus Arendt
=== OTP-17.4 === Changed Applications: - asn1-3.0.3 - common_test-1.9 - compiler-5.0.3 - crypto-3.4.2 - debugger-4.0.2 - dialyzer-2.7.3 - diameter-1.8 - edoc-0.7.16 - eldap-1.1 - erl_docgen-0.3.7 - erl_interface-3.7.20 - erts-6.3 - eunit-2.2.9 - hipe-3.11.2 - inets-5.10.4 - jinterface-1.5.12 - kernel-3.1 - megaco-3.17.3 - mnesia-4.12.4 - observer-2.0.3 - odbc-2.10.22 - otp_mibs-1.0.10 - parsetools-2.0.12 - percept-0.8.10 - runtime_tools-1.8.15 - snmp-5.1.1 - ssh-3.1 - ssl-5.3.8 - stdlib-2.3 - syntax_tools-1.6.17 - test_server-3.7.2 - tools-2.7.1 - wx-1.3.2 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 - et-1.5 - gs-1.5.16 - ic-4.3.6 - orber-3.7.1 - os_mon-2.3 - ose-1.0.2 - public_key-0.22.1 - reltool-0.6.6 - sasl-2.4.1 - typer-0.9.8 - webtool-0.8.10 - xmerl-1.3.7 Conflicts: OTP_VERSION erts/vsn.mk
2014-12-09Prepare releaseErlang/OTP
2014-12-01dialyzer: Test recoalesced map keysBjörn-Egil Dahlberg
2014-11-25Merge branch 'maint'Hans Bolinder
* maint: dialyzer: correct record updates
2014-11-24dialyzer: correct record updatesHans Bolinder
Correct a bug introduced in commit 8498a3.
2014-11-06Merge branch 'siri/sup-spec-maps/OTP-11043'Siri Hansen
* 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
2014-11-06Update dialyzer test with maps in supervisor propertiesSiri Hansen
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.
2014-10-21dialyzer: remove recognition of the compiler option 'asm'Hans Bolinder
The compiler option 'asm' has been replaced by 'from_asm' in Erlang/OTP 18.0.
2014-10-10Merge branch 'maint'Hans Bolinder
* maint: dialyzer: do a minor re-factoring dialyzer: Ignore ERL_COMPILER_OPTIONS when compiling dialyzer: fix bug concerning compiler option 'warnings_as_errors'
2014-10-08dialyzer: do a minor re-factoringHans Bolinder
A minor re-factoring and generalization.
2014-10-08dialyzer: Ignore ERL_COMPILER_OPTIONS when compilingHans Bolinder
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.
2014-10-08dialyzer: fix bug concerning compiler option 'warnings_as_errors'Hans Bolinder
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.
2014-09-25Merge branch 'maint'Marcus Arendt
2014-09-19Add note about known issue with -Wrace_conditionsMagnus Henoch
As noted on the erlang-bugs mailing list: http://erlang.org/pipermail/erlang-bugs/2014-July/004518.html
2014-09-17Merge tag 'OTP-17.3'Henrik Nord
=== 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
2014-09-15Update release notesErlang/OTP
2014-09-15Update version numbersErlang/OTP
2014-09-09Merge branch 'maint'Henrik Nord
2014-09-09Merge branch 'fishcakez/dialyzer_beam_opts' into maintHenrik Nord
* fishcakez/dialyzer_beam_opts: Use compile options when dialyzing beam files
2014-08-21Merge branch 'maint'Hans Bolinder
* maint: dialyzer, hipe: Fix a bug concerning is_record/2,3
2014-08-21dialyzer, hipe: Fix a bug concerning is_record/2,3Hans Bolinder
Also fixed some cases where Dialyzer could crash due to reaching system limits.
2014-08-21Merge branch 'maint'Hans Bolinder
* maint: dialyzer: fix a -Wunderspecs bug
2014-08-20dialyzer: fix a -Wunderspecs bugHans Bolinder
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).
2014-07-16Use compile options when dialyzing beam filesJames Fish
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
2014-06-30Merge branch 'maint'Hans Bolinder
* maint: hipe: Correct pretty-printing of bitstrings
2014-06-26hipe: Correct pretty-printing of bitstringsHans Bolinder
2014-06-24Merge tag 'OTP-17.1'Marcus Arendt
=== 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
2014-06-19Prepare releaseErlang/OTP
2014-06-18Merge branch 'maint'Björn-Egil Dahlberg
2014-06-18Merge branch 'egil/fix-doc-links' into maintBjörn-Egil Dahlberg
* egil/fix-doc-links: doc: Fix broken links in Installation Guide doc: Fix broken links
2014-06-17Merge branch 'maint'Hans Bolinder
* maint: [dialyzer] Correct a doc bug introduced in 0b041238 [dialyzer] Use the option 'dialyzer' to control the compiler [dialyzer] Fix handling of literal records
2014-06-17doc: Fix broken linksBjörn-Egil Dahlberg
2014-06-17[dialyzer] Correct a doc bug introduced in 0b041238Hans Bolinder
2014-06-17[dialyzer] Use the option 'dialyzer' to control the compilerHans Bolinder
2014-06-17[dialyzer] Fix handling of literal recordsHans Bolinder
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.
2014-06-03Merge branch 'maint'Hans Bolinder
* maint: [dialyzer] Correct docs about options
2014-06-03[dialyzer] Correct docs about optionsHans Bolinder
2014-05-26Merge branch 'maint'Björn-Egil Dahlberg
2014-05-26Merge branch 'egil/fix-maps-pretty-layout/OTP-11947' into maintBjörn-Egil Dahlberg
* egil/fix-maps-pretty-layout/OTP-11947: dialyzer: Add Maps type mismatch test hipe,compiler: Fix Map literals pretty printing
2014-05-26Merge branch 'maint'Hans Bolinder
* maint: hipe: fix a bug concerning typed record fields
2014-05-23hipe: fix a bug concerning typed record fieldsHans Bolinder
2014-05-13Merge branch 'maint'Hans Bolinder
* maint: hipe: fix a bug concerning typed record fields
2014-05-13hipe: fix a bug concerning typed record fieldsHans Bolinder
When checking typed record fields Dialyzer failed to handle types containing remote types. Thanks to Erik Søe Sørensen for reporting this bug.
2014-05-05Remove pre-defined types dict(), digraph(), &cHans Bolinder
The pre-defined types array(), dict(), digraph(), gb_set(), gb_tree(), queue(), set(), and tid() have been removed.
2014-04-29dialyzer: Add Maps type mismatch testBjörn-Egil Dahlberg
2014-04-28Introduce the attribute -optional_callbacks in the context of behavioursHans Bolinder
2014-04-17hipe, dialyzer: Fix a bug concerning opaque typesHans Bolinder
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 [shayan@liveve.org] for pointing out the bug.