| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
|
| | |
|
|/
|
|
|
|
|
| |
HiPE may no longer always be compiled when dialyzer is needed
so we move the files in hipe to dialyzer.
Co-authored-by: John Högberg <john@erlang.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed dialyzer plt build breaking on code that compiles to
letrec nested within a multi-value values node.
In the attached example (see test case):
1. letrec node would (incorrectly) inherit num_rvals from values
2. then apply would incorrectly duplicate output
3. then let would call bind_list on two lists of differing length
4. resulting in function_clause error for bind_list1
|
| |
|
|
|
|
| |
This reverts commit eee1f3aba92b5a741eabfa1cb6eca0632562777a.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We add `seemfa`, `seeerl`, `seetype`, `seeapp`, `seecom`, `seecref`
, `seefile` and `seeguide` in order to make it easier to reason
about what each link points to without examining the target.
This information will then be embedded in the EEP-48 chunks for
usage by other tools.
The tool used can be found here:
https://gist.github.com/garazdawi/68527d92ae5b37c8f129bfbdfffdfa68
|
|
|
|
| |
This reverts commit 63638d668efbeb4539ba301328cabbc2636fb154.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The compiler could crash if clauses that couldn't possibly match were
removed because of variables no longer being bound. Here is an
example:
foobar() ->
[receive
a = <<V0>> ->
any
end],
V0.
An attempt to fix this problem for receive was made in 051ecbc1b3b7,
but the fix was not general enough.
This commit avoids the problem by never removing clauses that can't
match. Instead, the pattern is rewritten so that it binds the same
variables and the guard is changed to `false`.
|
|
|
|
| |
This reverts commit 50e614e7d5fee9e3bfe8a58e7f390c6ea6caf271.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The `erlang:get_stacktrace/0` BIF retrieves the stacktrace from
the previous error in the process. The problem is that the very
existence of `erlang:get_stacktrace/0` means that the stacktrace
and potentially function arguments must be kept indefinitely.
Therefore, in OTP 21, the `erlang:get_stacktrace/0` BIF was deprecated
and the syntax of try/catch extended to allow matching out the
stacktrace directly.
This commit changes `erlang:get_stacktrace/0` for OTP 23 to always
return an empty list (`[]`) and eliminates the need to keep the
stacktrace forever.
`erlang:get_stacktrace/0` is scheduled for removal in OTP 24.
|
|
|
|
| |
ENOENT != "not a regular file"
|
|
|
|
|
| |
Add support to Dialyzer to handle the primops and the new way
of using letrecs.
|
|
|
|
| |
This reverts commit 646d72540b0d61ee2b010f5c510a6eeef2dd2ee8.
|
|\
| |
| |
| |
| | |
* maint:
Revert "Revert "dialyzer: Remove native code compilation""
|
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 56a51ef2fd107c27692efd25f62b92fe4a1f85a5.
In the master branch, HiPE miscompiles dialyzer for
(probably) other reasons than catch.
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
* maint:
Revert "dialyzer: Remove native code compilation"
HiPE: Don't allow shared catch instructions
Again allow catch in native code
beam_jump: Don't share catch and try/catch blocks
|
| |
| |
| |
| |
| |
| | |
This reverts commit 28e6c67f1f099fc9a7f959c1489c2ceb51e3439b.
HiPE can now handle catches.
|
|\ \
| |/ |
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
|
| | |
|
|\ \
| |/
| |
| |
| |
| | |
* maint:
dialyzer: Correct range type of erlang:is_record/3
dialyzer: Fix an overloaded contract warning
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When creating the missing_range warning, the supremum of all function
type ranges is considered, not the range of one function type at a
time.
Notice that more extra_range messages than before can be emitted (the
check for extra_range was not always performed if a missing_range was
found).
|
|\ \
| |/
| |
| |
| | |
* maint:
dialyzer: Remove some tests
|
| |
| |
| |
| |
| | |
The tests with GNU license have been removed to simplify
administration.
|
|\ \
| | |
| | |
| | |
| | | |
* hasse/dialyzer/maps_remove/OTP-16055/ERL-1002:
dialyzer: Handle maps:remove/2 better
|
| | |
| | |
| | |
| | | |
See also ERL-1002.
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| |
| |
| | |
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
* lukas/otp/add-dialyzer-make-target/OTP-15915:
otp: Add make dialyzer and make xmllint documentation
Add 'make dialyzer' target to top and apps
|
| | | |
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# make/otp_version_tickets_in_merge
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* maint-22:
Updated OTP version
Prepare release
# Conflicts:
# make/otp_version_tickets
|
| | | | |
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* john/hipe/catch-miscompilation/OTP-15949:
dialyzer: Remove native code compilation
hipe: Disable compilation on encountering try/catch
|
|\ \ \ \ \
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | | |
* maint:
dialyzer: Remove native code compilation
hipe: Disable compilation on encountering try/catch
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | | |
* john/hipe/catch-miscompilation/OTP-15949:
dialyzer: Remove native code compilation
hipe: Disable compilation on encountering try/catch
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* maint:
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* maint-22:
Updated OTP version
Prepare release
# Conflicts:
# make/otp_version_tickets
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
| | | | /
| |_|_|/
|/| | | |
* maint:
Always fallback to source when we can't parse AST
|