From dc57404252c47520f352834ad9be45ad684f96c9 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Thu, 4 May 2017 17:05:25 +0200 Subject: Prepare release --- lib/compiler/doc/src/notes.xml | 150 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) (limited to 'lib/compiler/doc/src/notes.xml') diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml index 1dc0c808e7..f3da04120a 100644 --- a/lib/compiler/doc/src/notes.xml +++ b/lib/compiler/doc/src/notes.xml @@ -32,6 +32,156 @@

This document describes the changes made to the Compiler application.

+
Compiler 7.1 + +
Fixed Bugs and Malfunctions + + +

For many releases, it has been legal to override a BIF + with a local function having the same name. However, + calling a local function with the same name as guard BIF + as filter in a list comprehension was not allowed.

+

+ Own Id: OTP-13690

+
+
+
+ + +
Improvements and New Features + + +

+ Optimized test for tuples with an atom as first element.

+

+ Own Id: OTP-12148

+
+ +

+ Compilation of modules with huge literal binary strings + is now much faster.

+

+ Own Id: OTP-13794

+
+ +

Replaced usage of deprecated symbolic time + unit representations.

+

+ Own Id: OTP-13831 Aux Id: OTP-13735

+
+ +

The undocumented and unsupported module + sys_pre_expand has been removed. As a partical + replacement for the functionality, there is a new + function erl_internal:add_predefined_functions/1 + and erl_expand_records will now add a module + prefix to calls to BIFs and imported functions.

+

+ Own Id: OTP-13856

+
+ +

The internal compiler passes now start all generated + variables with "@" to avoid any conflicts with variables + in languages such as Elixir or LFE.

+

+ Own Id: OTP-13924

+
+ +

The function fmod/2 has been added to the + math module.

+

+ Own Id: OTP-14000

+
+ +

Code generation for complicated guards have been + improved.

+

+ Own Id: OTP-14042

+
+ +

+ The compiler has new warnings for repeated identical map + keys.

+

+ A map expression such as,

+

+ #{'a' => 1, 'b' => 2, 'a' => 3}.

+

+ will produce a warning for the repeated key 'a'.

+

+ Own Id: OTP-14058

+
+ +

By default, there will now be a warning when + export_all is used. The warning can be disabled + using nowarn_export_all.

+

+ Own Id: OTP-14071

+
+ +

+ Optimize maps pattern matching by only examining the + common keys in each clause first instead of all keys. + This will reduce the number of lookups of each key in + maps pattern matching.

+

+ Own Id: OTP-14072

+
+ +

There is a new 'deterministc' option to omit + 'source' and 'options' tuples in the BEAM + file.

+

+ Own Id: OTP-14087

+
+ +

+ Analyzing modules with binary construction with huge + strings is now much faster. The compiler also compiles + such modules slightly faster.

+

+ Own Id: OTP-14125 Aux Id: ERL-308

+
+ +

Atoms may now contain arbitrary Unicode + characters.

+

+ Own Id: OTP-14178

+
+ +

compile:file/2 now accepts the option + extra_chunks to include extra chunks in the BEAM + file.

+

+ Own Id: OTP-14221

+
+ +

The format of debug information that is stored in BEAM + files (when debug_info is used) has been changed. + The purpose of the change is to better support other + BEAM-based languages such as Elixir or LFE.

+

All tools included in OTP (dialyzer, debugger, cover, + and so on) will handle both the new format and the + previous format. Tools that retrieve the debug + information using beam_lib:chunk(Beam, + [abstract_code]) will continue to work with both the + new and old format. Tools that call + beam_lib:chunk(Beam, ["Abst"]) will not work with + the new format.

+

For more information, see the description of + debug_info in the documentation for + beam_lib and the description of the + {debug_info,{Backend,Data}} option in the + documentation for compile.

+

+ Own Id: OTP-14369 Aux Id: PR-1367

+
+
+
+ +
+
Compiler 7.0.4
Fixed Bugs and Malfunctions -- cgit v1.2.3