Age | Commit message (Collapse) | Author |
|
In e12b7d5331c58b41db06cadfa4af75b78b62a2b1, a bug was introduced
that would cause case expressions to be evaluated more than once
if there were aliases in the pattern. Example:
X = Y = io:put_chars("some chars"),
{X,Y}
That would be rewritten to code similar to (but in Core Erlang):
X = io:put_chars("some chars"),
X = io:put_chars("some chars"),
{X,Y}
Make sure that we only evalute the expression once by doing a
transformation similar to (but in Core Erlang):
NewVar = io:put_chars("some chars"),
X = NewVar,
Y = NewVar,
{X,Y}
Reported-by: José Valim
Reported-by: Anthony Ramine
|
|
|
|
A test is commented-out in map_SUITE:t_update_exact/1, waiting for a fixed
maps:update/3 function with correct integer/float semantics.
|
|
|
|
|
|
* egil/compiler/strengthen-tests:
compiler: Teach beam_disasm has_map_field instruction
compiler: Fold binary Map key patterns to literals
compiler: Strengthen listings tests
compiler: Strengthen Maps tests
|
|
Trees {record,Line,Arg,Name,Fields} were not munged.
|
|
They are bare atoms, atoms or variables in the abstract format, there is no need to
pass them through munge_expr/2.
|
|
|
|
|
|
|
|
Map fields (K := V, K => V) are not expressions and shouldn't be clauses of
erl_eval:expr/5.
|
|
map_expr/1
map_expr/2
map_expr_argument/1
map_expr_fields/1
map_field_assoc/2
map_field_assoc_name/1
map_field_assoc_value/1
map_field_exact/2
map_field_exact_name/1
map_field_exact_value/1
|
|
|
|
|
|
|
|
|
|
Dialyzer does not like list comprehensions for which the result is not
assigned to some variable (maybe anonymous). In this particular case,
the comprehension, containing only a filter but no generator, was used
to save some lines, but IMO this type of code, while "cute", is not so
easy to comprehend.
|
|
|
|
The HiPE compiler crashes when trying to compile these files because
it does not currently support maps. So, add a -compile(no_native)
attribute to these files to allow the system to be made even when
configured with --enable-native-libs.
This is a temporary fix and will be removed when the HiPE compiler
gets proper support for maps.
|
|
|
|
* ia/inets/tests:
inets: Rewrite of test case to avoid timing issues in test code
|
|
* ia/ssl/openssl-1.0.1e:
ssl: Add workaround in test code for openssl s_client bug
|
|
* nox/syntax-tools-named-fun-fixes/OTP-11651:
Fix representation of named funs in syntax_tools
|
|
|
|
* peppe/common_test/telnet_logging_system:
Add verification terms for the unix_telnet test case
Add documentation about logging in the ct_telnet module
Make temporary fix of problem that sometimes causes the ct_util server to die
Fix remaining problems using raw telnet logging for parallel test cases
Make it possible to use raw telnet logs in parallel test case groups
Implement tests for logging traffic for multiple telnet connections
Add and improve test cases
Implement new telnet logging system
OTP-11440
|
|
A named fun's name is a variable name, its type in syntax_tools is named_fun_expr.
|
|
|
|
|
|
* egil/maps/OTP-11616: (112 commits)
compiler: Add core compile test for maps
compiler: Fix core parse for Maps
compiler: Fixup #map_pair{} spec
erts: Strengthen map_SUITE tests
erts: Update maps_fold test to respect maps:fold/3
stdlib: Make maps:fold/3 order-independent
erts: Fixup enif_make_map_put on windows
erts: Update preloaded erts_internal.beam
hipe: Fixup update cerl pretty printer
erts: Add map construction to driver API
dialyzer: Add maps tests
dialyzer: Remove dead code
dialyzer: Reflect map_pair core changes in dialyzer
hipe: Update cerl pretty printer
compiler: Update inliner tests
compiler: Squash #c_map_pair_*{} to #c_map_pair{}
compiler: Squash #k_map_pair_*{} to #k_map_pair{}
preloaded: Fixup export cmp_term in erts_internal
erts: Change 'size' argument of enif_get_map_size from int* to size_t*
erts: Fix compile error for halfword emulator
...
|
|
|
|
|
|
|
|
This means replacing maps:foldl/3 and maps:foldr/3 with maps:fold/3.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Simplify compiler internals and parsing of core format.
|
|
Simplify compiler internals for kernel passes.
|
|
|
|
* bjorn/fna-default/OTP-11612:
Change the default file name encoding mode to +fnaw
|
|
* bjorn/asn1/erlang-types/OTP-11594:
Update documentation
Fix open types
Fix OCTET STRING
Fix BIT STRING
Add legacy_erlang_types
asn1 test suite: Modernize testTimer_* and testTimer.erl
testPrimStrings: Run test of fragmented strings for PER too
|
|
|
|
|
|
|
|
|
|
This commit requires Map enabled bootstrap compiler.
|