summaryrefslogtreecommitdiff
path: root/lib/dialyzer
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'lukas/otp/add-dialyzer-make-target/OTP-15915'Lukas Larsson2019-08-061-0/+2
|\ | | | | | | | | | | * lukas/otp/add-dialyzer-make-target/OTP-15915: otp: Add make dialyzer and make xmllint documentation Add 'make dialyzer' target to top and apps
| * Add 'make dialyzer' target to top and appsLukas Larsson2019-06-261-0/+2
| |
* | Merge branch 'maint'John Högberg2019-07-102-1/+21
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: Updated OTP version Prepare release # Conflicts: # OTP_VERSION # make/otp_version_tickets_in_merge
| * \ Merge branch 'maint-22' into maintJohn Högberg2019-07-102-1/+21
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint-22: Updated OTP version Prepare release # Conflicts: # make/otp_version_tickets
| | * | Prepare releaseErlang/OTP2019-07-092-1/+21
| | | |
| | * | Merge branch 'john/hipe/catch-miscompilation/OTP-15949' into maint-22Erlang/OTP2019-07-091-107/+0
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | * john/hipe/catch-miscompilation/OTP-15949: dialyzer: Remove native code compilation hipe: Disable compilation on encountering try/catch
* | | \ \ Merge branch 'maint'John Högberg2019-07-081-116/+0
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | * maint: dialyzer: Remove native code compilation hipe: Disable compilation on encountering try/catch
| * | | | Merge branch 'john/hipe/catch-miscompilation/OTP-15949' into maintJohn Högberg2019-07-081-116/+0
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | * john/hipe/catch-miscompilation/OTP-15949: dialyzer: Remove native code compilation hipe: Disable compilation on encountering try/catch
| | * | | dialyzer: Remove native code compilationJohn Högberg2019-07-051-107/+0
| | | | |
* | | | | Merge branch 'maint'John Högberg2019-07-032-1/+17
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: Updated OTP version Prepare release # Conflicts: # OTP_VERSION
| * | | | Merge branch 'maint-22' into maintJohn Högberg2019-07-032-1/+17
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint-22: Updated OTP version Prepare release # Conflicts: # make/otp_version_tickets
| | * | | Prepare releaseErlang/OTP2019-07-022-1/+17
| | | | |
* | | | | Merge branch 'maint'Hans Bolinder2019-06-271-27/+21
|\ \ \ \ \ | |/ / / / | | | | / | |_|_|/ |/| | | * maint: Always fallback to source when we can't parse AST
| * | | Merge branch ↵Hans Bolinder2019-06-271-27/+21
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | 'josevalim/dialyzer/formatting_fallback/OTP-15922/PR-2240/ERL-949' into maint * josevalim/dialyzer/formatting_fallback/OTP-15922/PR-2240/ERL-949: Always fallback to source when we can't parse AST
| | * | Always fallback to source when we can't parse ASTJosé Valim2019-06-251-27/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes a bug in Dialyzer where it would assume all Erlang AST can be converted back to valid Erlang code. A case where this was is no true was already documented in the source code, in relation to opaque types, but this can also be true when it comes to other BEAM languages.
* | | | Add "make test" command for root and application directoriesKjell Winblad2019-06-261-0/+1
|/ / / | | | | | | | | | The added make target is described in HOWTO/TESTING.md.
* | | Merge branch 'legoscia/dialyzer/native_erlang_mode/OTP-15880/PR-2283' into maintHans Bolinder2019-06-145-8/+28
|\ \ \ | |/ / |/| | | | | | | | * legoscia/dialyzer/native_erlang_mode/OTP-15880/PR-2283: Allow native compilation when calling Dialyzer from Erlang
| * | Allow native compilation when calling Dialyzer from ErlangMagnus Henoch2019-06-125-8/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Invoking Dialyzer through the function dialyzer:run/1 instead of from the command line activates "Erlang mode", meaning that warnings are returned instead of printed, and that HiPE compilation of modules does not take place. With this change, HiPE compilation can optionally be enabled in this situation by passing the option {native, true}. Caching of natively compiled modules is enabled by default, but can be turned off using the option {native_cache, false}.
* | | Prepare releaseErlang/OTP2019-06-122-1/+17
|/ /
* | dialyzer: Correct indentation of field warningsHans Bolinder2019-06-043-9/+101
|/ | | | See also https://bugs.erlang.org/browse/ERL-953.
* Prepare releaseErlang/OTP2019-05-102-1/+47
|
* Merge branch 'hasse/dialyzer/prettier_warnings/OTP-15135'Hans Bolinder2019-05-07120-237/+7594
|\ | | | | | | | | | | | | | | | | * hasse/dialyzer/prettier_warnings/OTP-15135: dialyzer: Remove quotes around operators dialyzer: Add test cases with indentation dialyzer: Add an --no_indentation option dialyzer: Add parentheses around annotated union elements dialyzer: Fix dialyzer_dataflow:format_args_1()
| * dialyzer: Remove quotes around operatorsHans Bolinder2019-05-074-43/+43
| |
| * dialyzer: Add test cases with indentationHans Bolinder2019-05-0793-14/+7110
| | | | | | | | | | A smallish selection of already existing tests, run with the indentation option.
| * dialyzer: Add an --no_indentation optionHans Bolinder2019-05-079-141/+370
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default Dialyzer tries to improve the readability of warnings. Newlines are inserted before and inside types, signatures, and Erlang code. Sometimes the newlines look misplaced. The raw format (option --raw) is not affected. Use the new --no_indentation option get the old behavior (no inserted line breaks). A note on the implementation. The types &c present in the warning tuples are parsed, and then formatted using erl_pp, the Erlang Pretty Printer. The alternative, to create message tuples with formatted types, turned out to more complicated, and has no real benefits. Also notice that the fixes for binaries (commit 9db8a098) and union elements (commit a1e51d12) are required. As a consequence, messages created before these commits using the --raw option cannot always be indented.
| * dialyzer: Add parentheses around annotated union elementsHans Bolinder2019-04-292-0/+31
| | | | | | | | | | In contracts, annotated elements of unions are printed with parentheses around them. They are not parseable otherwise.
| * dialyzer: Fix dialyzer_dataflow:format_args_1()Hans Bolinder2019-04-2914-45/+46
| |
* | stdlib: Do not allow specs for functions in other modulesHans Bolinder2019-05-032-9/+0
|/ | | | | | | | | | | | | | | | | | | | | | | See also https://bugs.erlang.org/browse/ERL-845. [Kostis:] My suggestion is that the compiler refuses to compile modules that contain specs for functions that are not from this module. I do not remember when / why this `feature' was introduced, but thinking about it I see a lot of (ugly) semantics issues with it. For example, should one be allowed to declare in the foo module that lists:flatten/1 takes an integer() as an argument and returns a binary()? Should one be allowed to declare a spec in some module m1 for a function of m2 that is not defined in m2? There are all kinds of checks that will need to be added to dialyzer to protect itself from these semantics issues. The compiler already refuses to compile modules that contain specs for non-existing functions of the module. Similarly, it should refuse to compile modules that contain specs for functions of other modules - unless it can somehow check that these functions are indeed defined, but it is not how the compiler currently works.
* Merge branch 'hasse/dialyzer/fun_app_args/OTP-15779'Hans Bolinder2019-04-264-3/+26
|\ | | | | | | | | * hasse/dialyzer/fun_app_args/OTP-15779: dialyzer: Improve the warning tagged 'fun_app_args'
| * dialyzer: Improve the warning tagged 'fun_app_args'Hans Bolinder2019-04-244-3/+26
| | | | | | | | The mismatching argument positions are included.
* | Revert "Prepare release"Rickard Green2019-04-242-30/+1
|/ | | | This reverts commit 425889ba69b69a9b6fb14bfbef121d51b78e853a.
* Prepare releaseErlang/OTP2019-04-232-1/+30
|
* Merge branch 'hasse/dialyzer/improve_binary_printing/OTP-15752'Hans Bolinder2019-04-106-21/+70
|\ | | | | | | | | * hasse/dialyzer/improve_binary_printing/OTP-15752: dialyzer: Fix pretty printing of binaries
| * dialyzer: Fix pretty printing of binariesHans Bolinder2019-04-086-21/+70
| | | | | | | | | | | | | | | | | | | | Notice the comment in dialyzer_utils: %% Copied from core_pp. The function cerl:binary_segments/2 should/could %% be extended to handle literals, but then the cerl module cannot be %% HiPE-compiled as of Erlang/OTP 22.0 (due to <<I:N>>). When at it: simplify some common cases like "/binary-unit:8".
* | Merge pull request #2197 from lbolla/spelling-mistakes-fixBjörn Gustavsson2019-04-101-1/+1
|\ \ | |/ |/| Fix various spelling mistakes
| * Fix various spelling mistakesLorenzo Bolla2019-03-311-1/+1
| | | | | | | | Fix ERL-541 and various other unreported spelling mistakes.
* | Revert "Prepare release"Henrik Nord2019-03-262-18/+1
| | | | | | | | This reverts commit 0118046f9bda8dcf3594184fa439b79267db8017.
* | Prepare releaseErlang/OTP2019-03-252-1/+18
| |
* | Merge branch 'bjorn/hipe-compilation/OTP-15596'Björn Gustavsson2019-03-211-1/+3
|\ \ | | | | | | | | | | | | * bjorn/hipe-compilation/OTP-15596: HiPE: Don't fail the compilation for unimplemented instructions
| * | HiPE: Don't fail the compilation for unimplemented instructionsBjörn Gustavsson2019-03-201-1/+3
| | |
* | | Merge branch 'maint'Henrik Nord2019-03-122-1/+31
|\ \ \ | |/ / |/| / | |/ | | | | * maint: Updated OTP version Prepare release
| * Prepare releaseErlang/OTP2019-03-112-1/+31
| |
* | Revert "Prepare release"Rickard Green2019-02-272-18/+1
| | | | | | | | This reverts commit df130102cdeca8d35fec95a0c926fd1cfec54eab.
* | Prepare releaseErlang/OTP2019-02-262-1/+18
| |
* | Merge branch 'maint'Hans Bolinder2019-02-254-5/+85
|\ \ | |/ | | | | | | | | * maint: dialyzer: Fix maps as parameter of opaque types dialyzer: Fix key check of lists:key{search,member,find}()
| * dialyzer: Fix maps as parameter of opaque typesHans Bolinder2019-02-213-0/+24
| | | | | | | | The clause added for maps in commit 1a7c41be is corrected.
| * dialyzer: Fix key check of lists:key{search,member,find}()Hans Bolinder2019-02-211-5/+61
| | | | | | | | | | | | | | Replace integers and floats with t_number() since keysearch et al compare the key (rather than match). Corrects the commit b3c8e94.
* | Merge branch 'maint'Hans Bolinder2019-02-195-77/+107
|\ \ | |/ | | | | | | * maint: dialyzer: Fix a bug regarding contracts
| * Merge branch 'hasse/dialyzer/fix_contract_check/OTP-15562/ERL-845' into maintHans Bolinder2019-02-195-77/+107
| |\ | | | | | | | | | | | | * hasse/dialyzer/fix_contract_check/OTP-15562/ERL-845: dialyzer: Fix a bug regarding contracts
| | * dialyzer: Fix a bug regarding contractsHans Bolinder2019-02-065-77/+107
| | | | | | | | | | | | | | | | | | | | | | | | See also https://bugs.erlang.org/browse/ERL-845. Fix a bug that caused Dialyzer to crash when analyzing a contract with a module name differing from the analyzed module's name. The bug was introduced in Erlang/OTP 18.