Age | Commit message (Collapse) | Author |
|
The compiler application is now a dependency.
|
|
When building with --enable-native-libs and allowing 'make' to use
multiple threads, the compiler would crash because the erl_syntax
module was missing. Here is the recipe for making it crash on
my computer:
git clean -dxfq
MAKEFLAGS='-j10' ./otp_build setup -a --enable-native-libs
What would happen is that when merl_transform was used to compile
itself, it would call 'merl' which in turn would call erl_syntax and
erl_syntax_lib. Since those modules were not listed as dependencies,
there was no guarantee that they had actually been compiled. In fact,
erl_syntax is a large module so a compilation it with +native would
usually not finish before it was needed for compiling merl_transform.
To ensure that the erl_syntax and erl_syntax_lib modules are
available when needed, they must be explicitly listed as dependencies.
|
|
* bjorn/compiler/doc:
Update compiler documentation
(Sneaking in OTP-12769 here which is a release note for syntax_tools.
Sorry about that.)
|
|
Language cleaned up by the technical writer tmanevik from
Combitech. Proofreading and corrections by Björn Gustavsson.
|
|
* erlang/pr/741:
Minor misprints
|
|
* erlang/pr/745:
Typofix: piecemeal
|
|
|
|
* egil/opt-compile-time/OTP-12774:
stdlib: Relax erl_anno_SUITE:is_anno/1 test
Update primary bootstrap
compiler: Use Maps as type information
compiler: Use Maps instead of dict in beam_jump
compiler: Use cerl_sets instead of gb_sets in beam_type
compiler: Use Maps instead of gb_trees in beam_dead
compiler: Use cerl_sets instead of gb_sets in beam_jump
compiler: Use cerl_sets instead of sets in v3_kernel
compiler: Use cerl_sets instead of gb_sets in sys_core_fold
compiler: Add cerl_sets module
compiler: Scope uses gb_sets not gb_trees
beam_dict: Use Maps to map function name indices
beam_dict: Use Maps to map line indices
beam_dict: Use Maps to map atom indices
v3_codegen: Use Maps to map local functions
v3_life: Refactor variable db
compiler: Use lc instead of map/1 in v3_codegen
stdlib: Optimize erl_anno:is_string/1
Conflicts:
bootstrap/lib/kernel/ebin/inet_dns.beam
bootstrap/lib/stdlib/ebin/erl_anno.beam
bootstrap/lib/stdlib/ebin/erl_lint.beam
|
|
|
|
The 'compression' option was used in the test cases. The new option 'preferred_algorithms' is
much more powerful and can be used as a replacement.
|
|
This option enables the user to define which algorithms that
are to be used as well as their precedences in the negotiation
between server and client.
|
|
This option is set internaly but there is no reason to set it when calling a function.
|
|
|
|
* egil/cuddle-tests:
erts: Relax monitor_SUITE:mixer/1
erts: Refactor monitor_SUITE:mixer/1
stdlib: Minor change of unicode_SUITE
stdlib: Relax iterations in binary_module_SUITE:random_ref_sr_comp/1
Remove ?line macro in binary_module_SUITE:random_ref_sr_comp/1
stdlib: Relax iterations in binary_module_SUITE:random_ref_comp/1
stdlib: Remove ?line macro in binary_module_SUITE:random_ref_comp/1
stdlib: Relax filesize of io_proto_SUITE:unicode_options_gen/1
stdlib: Relax rand_SUITE timeout
debugger: Relax test map_SUITE:t_guard_receive_large/1
tools: Relax lcnt test time
stdlib: ets_SUITE cuddling
|
|
* nybek/limit_leading_zeros_in_ipv6_addresses:
Fix parsing of IPv6 addresses to limit leading zeros
OTP-12773
|
|
* josevalim/jv-annotate-form:
Only annotate forms when linting in the compiler
OTP-12772
|
|
|
|
* sverk/crypto/ec_key_generate/OTP-12733:
crypto: Change eliptic curve test from 'sect113r2' to 'secp112r2'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Would timeout on slow machines and was unnecessary large.
|
|
* richcarl/syntax_tools/add-merl:
Make merl compatible with OTP 18.0
Add tests for merl in syntax_tools
Include Merl in Syntax Tools
|
|
* bjorn/asn1/doc/OTP-12765:
asn1 doc: Alert users of limitations in test and value functions
|
|
* bjorn/kernel/code-loading:
code: Eliminate dialyzer warnings for unmatched returns
|
|
Applications that use the new erl_anno module are depending on STDLIB 2.5.
Note that CosNotification, Megaco, SNMP, Xmerl, and Parsetools use the
erl_anno module via the Yecc parsers only (the header file in
lib/parsetools/include/yeccpre.hrl calls the erl_anno module).
HiPE does not call the erl_anno module, but uses an exported type.
We have chosen to make HiPE dependent on the erl_anno module.
|
|
* rickard/user_drv_q_bug/OTP-12239:
Fix usage of io-request queue
|
|
To not fail on openssl built with #define OPENSSL_NO_EC2M
(Why does the test not verify all supported curve types?)
|
|
Add a note about the limitations of the asn1ct:test/1,2,3 and
asn1ct:value/2 functions.
|
|
* hans/ssh/pr715/OTP-12760:
Add tests for ssh rekeying
Fix protocol violations during rekeying
Fix rekeying according to RFC 4253
|
|
|
|
|
|
|
|
* egil/fix-hipe_libs:
stdlib: Relax maps test suite for HiPE
|
|
* richcarl/ac_tab-concurrency:
Use read_concurrency for application environment
|
|
* egil/fix-compiler-beam_bsm/OTP-12758:
compiler: Add tests for beam_bsm get_map_elements
compiler: Teach beam_bsm get_map_elements instruction
|
|
We want to have the core applications of Erlang/OTP free from any
dialyzer warnings. Eliminate the warnings for unmatched returns
that were introduced in 7309ff4c3832.
|
|
Due to the relaxation of erl_anno:is_string/1, the test
false = erl_anno:is_anno([{location,1},{text,[a,b,c]}]),
is no longer valid.
|
|
The current implementations of inet:parse_ipv6_address/1 and
inet:parse_ipv6strict_address/1 permit address strings which have an
unlimited number of leading zeros. Addresses such as:
"0000000000000000000000000000000ffff::"
"::00000000000000000000000000000000000000000000000000000000"
"::0000000f435:1"
If we are using this facility to validate string representations of
IPv6 addresses, then we would end up validating addresses which are
non-conformant (with respect to RFC 4291 section 2.2) and potentially
dangerous.
This patch ensures that each segment of an IPv6 address has a maximum
of 4 hex digits.
|
|
* bjorn/stdlib/erl_lint:
Remove final (?) vestiges of support for parameterized modules
|
|
* richcarl/md5-fixes:
code: Correct type spec for code:make_stub_module/3
|
|
* bjorn/compiler/runtime-dependencies:
Don't make 'compiler' dependent on 'tools'
Update runtime depencies for the compiler application
|
|
* ia/ssl/SNI-cuddle:
ssl: Make test case timing independent
ssl: Use new API function connection_information in tests
ssl: Increase readability
ssl: Add cleanup to tests
|
|
* dgud/wx/raise-during-stop/OTP-12734:
wx: Fix raise during emulator stoppage
|
|
A lot of time spent on linting is due to eval_file_attribute/2
function that recursively traverses all the AST, annotating
the file name on the AST nodes. This traversal happens so
it is easier to add errors and warnings later on by simply
introspecting the node.
This patch changes eval_file_attribute/2 to only annotate
forms (i.e. attributes and functions) and rely on the #lint
record to keep the proper file information (which it already
did before this patch).
To summarize, both pre scan and pos scan will use the annotated
file attribute in forms, however form/2 already maintains the
proper file in #lint, which we pass around when retrieving the
location information.
After this patch, linting of a regular erlang module with 500LOC
became twice faster when measured with eprof.
|
|
* sverk/ets-tab2file-syn/OTP-12737:
stdlib: Add 'sync' option to ets:tab2file/3
|