aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/src/dialyzer_cl.erl
AgeCommit message (Collapse)Author
2015-04-01dialyzer: Update the PLT properly when a module is changedHans Bolinder
Thanks to James Fish for the bug report, and to Stavros Aronis for fixing the bug.
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-03-28Reinstate native code compilation of cerl and erl_typesKostis Sagonas
2014-03-20Introduce a new warning option, 'no_unknown'Hans Bolinder
Not (yet) documented.
2014-03-20Return warnings for unknown types and functions in Erlang ModeHans Bolinder
The warnings about unknown types and functions are now returned when calling Dialyzer from Erlang, in particular from an escript. When calling Dialyzer from the command line the warnings about unknown types and functions are output last as before; and when using the GUI the warnings are displayed in a pop-up window, as before.
2014-03-17dialyzer: Do not native compile modules with Maps codeBjörn-Egil Dahlberg
hipe:c/1 ignores '-compile(no_native).'
2014-02-23Deprecate pre-defined built-in typesHans Bolinder
The types array(), dict(), digraph(), gb_set(), gb_tree(), queue(), set(), and tid() have been deprecated. They will be removed in OTP 18.0. Instead the types array:array(), dict:dict(), digraph:graph(), gb_set:set(), gb_tree:tree(), queue:queue(), sets:set(), and ets:tid() can be used. (Note: it has always been necessary to use ets:tid().) It is allowed in OTP 17.0 to locally re-define the types array(), dict(), and so on. New types array:array/1, dict:dict/2, gb_sets:set/1, gb_trees:tree/2, queue:queue/1, and sets:set/1 have been added.
2014-01-28dialyzer,hipe,stdlib: Add Maps understanding to DialyzerBjörn-Egil Dahlberg
2014-01-21[dialyzer] Re-work the handling of opaque typesHans Bolinder
It is now OK to inspect and modify the internals of opaque types within the scope of the module. The contracts are used for decorating types with opaqueness when it is harmless to do so. The opaqueness is propagated by the typesig module and also by the dataflow module. A lot of details have been fixed or updated. In particular the modules erl_types and erl_bif_types have been modified extensively. The version in vsn.mk has been updated to 2.7. The reason is a modification of #opaque{} in erl_types. Dialyzer seems to be about five percent slower than it used to be.
2013-04-08Fix minor error in natively compiled module listStavros Aronis
Even though dialyzer_typesig is the module doing most of the work, compiling it to native code twice will not make it faster than the rest. :-)
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-19Native code compilation changesKostis Sagonas
Add more files to be compiled to native code and do the native code compilation in parallel if there are enough cores.
2012-08-21Add an undocumented option [--solver [v1 | v2]]Hans Bolinder
The original implementation of the type signature solver is called 'v1' and the newly introduced alternative implementation is called 'v2'. It is possible to run just the one of the solvers (in case there is a bug in for instance the v2 implementation) or both solvers ("--solver v1 --solver v2"). In the latter case an error is thrown if the outcome differ.
2012-05-21Relocate start and stop of timing serverStavros Aronis
2012-05-21Add --time option to DialyzerStavros Aronis
2012-04-24Don't rewrite unchanged PLTStavros Aronis
2011-12-01Cleanup autoimport compiler directivesStavros Aronis
2011-12-01Fix Dialyzer's warning for its own codeStavros Aronis
2011-11-30Add file/line info in a particular Dialyzer crashStavros Aronis
2011-11-30Fix Dialyzer's warning for its own codeStavros Aronis
2011-11-18Behaviour callback discrepancy detection for DialyzerStavros Aronis
2011-03-09Merge branch 'aronisstav/dialyzer/dialyzer_tests/OTP-9116' into devLukas Larsson
* aronisstav/dialyzer/dialyzer_tests/OTP-9116: Increase timetrap of options1 suite Write output_plt even when plt_check is ok Create plt with erts, kernel and stdlib only Update test results as they currently appear in dev Major restructure of dialyzer's testsuite Add 'apps' option to the erlang interface Update spec file to work with new common test structure Test suites for Dialyzer
2011-02-28Write output_plt even when plt_check is okStavros Aronis
2011-01-20Add a --fullpath option to DialyzerKostis Sagonas
This change adds a --fullpath option to Dialyzer, which makes the warning messages contain the full path of the corresponding file. Original patch submitted by Magnus Henoch (legoscia) on 15/9/2010 and cooked to death in the 'pu' branch all this time. The patch was essentially correct and most of it has been used as is, but there have been some changes to make the code slightly prettier, avoid some code duplication, and add documentation to dialyzer's doc files and to its help message.
2010-11-30dialyzer: Add support for multiple PLTsMaria Christakis
This new feature is able to take multiple PLTs, merge them during the start of the analysis, and work from there. This works provided that the PLTs do not have a module with the same name appearing in more than one PLT. The PLTs are created in the usual way: dialyzer --build_plt --output_plt PLT_1 FILES_TO_INCLUDE ... dialyzer --build_plt --output_plt PLT_N FILES_TO_INCLUDE and then can be used in either of the following ways: dialyzer FILES_TO_ANALYZE --plts PLT_1 ... PLT_N or: dialyzer --plts PLT_1 ... PLT_N -- FILES_TO_ANALYZE (Note the -- delimiter in the second case)
2010-11-09dialyzer: Speed up analysis of nested list comprehensionsKostis Sagonas
Nested list comprehensions are translated into strongly connected funs but dialyzer ignored this. This meant that self-recursive analysis was normally executed for each fun and the whole fixpoint took some time to calculate. This patch adds every fun found in constraint generation to the SCC that is under analysis and then solves the SCC as a whole. Possible issues: - The returned dict contains more entries than usual. This triggered a bug in contract checking that is dealt with is this patch as well (dialyzer_contracts.erl). - As it's not easy to tell apart real fun SCCs from simple funs it performance might be hampered in the simple funs case. While doing these changes, also added and strengthened some specs. In addition, incorporated a modified patch by Ahmed Omar that fixes a bug in dialyzer_analysis_callgraph module that kept the files of only one selected directory in dialyzer's GUI.
2010-09-10Remove warnings for clashes with new autoimported BIFsPatrik Nyblom
2010-06-08Various changes to dialyzer-related files for R14.Kostis Sagonas
Bumped version number and wrote RELEASE_NOTES. Included all changes described in release notes. Some spec-related changes to some files in lib/hipe/cerl.
2010-06-03Minor fix in a print messageKostis Sagonas
2010-06-03Add handling of unknown typesMaria Christakis
2010-02-17Merge branch 'ks/hipe' into ccase/r13b04_devErlang/OTP
* ks/hipe: dialyzer: Fix system_limit exception in race analysis syntax_tools: Add types and specs for most exported functions syntax_tools: Support the --enable-native-libs configure option syntax_tools: Remove $Id$ annotations dialyzer: New version for the R13B04 release hipe: Miscellaneous additions typer: New version for the R13B04 release Fix a HiPE compiler bug evaluating an expression that throws system_limit OTP-8460 ks/hipe
2010-02-14dialyzer: New version for the R13B04 releaseKostis Sagonas
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP