From 08a112d189c8f47953eabcf2e05a0245dd6e6087 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Fri, 11 Jun 2010 10:20:20 +0000 Subject: Update release notes --- lib/compiler/doc/src/notes.xml | 100 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 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 7ea000a895..c08839bc7b 100644 --- a/lib/compiler/doc/src/notes.xml +++ b/lib/compiler/doc/src/notes.xml @@ -31,6 +31,106 @@

This document describes the changes made to the Compiler application.

+
Compiler 4.7 + +
Fixed Bugs and Malfunctions + + +

+ Several problems in the inliner have been fixed.

+

+ Own Id: OTP-8552

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

+ The module binary from EEP31 (and EEP9) is implemented.

+

+ Own Id: OTP-8217

+
+ +

Local and imported functions now override the + auto-imported BIFs when the names clash. The pre R14 + behaviour was that auto-imported BIFs would override + local functions. To avoid that old programs change + behaviour, the following will generate an error:

+

Doing a call without explicit module name + to a local function having a name clashing with the name + of an auto-imported BIF that was present (and + auto-imported) before OTP R14A

+

Explicitly importing a function having a name + clashing with the name of an autoimported BIF that was + present (and autoimported) before OTP R14A

+

Using any form of the old compiler directive + nowarn_bif_clash

If the BIF + was added or auto-imported in OTP R14A or later, + overriding it with an import or a local function will + only result in a warning,

To resolve clashes, you + can either use the explicit module name erlang to + call the BIF, or you can remove the auto-import of that + specific BIF by using the new compiler directive + -compile({no_auto_import,[F/A]})., which makes all + calls to the local or imported function without explicit + module name pass without warnings or errors.

The + change makes it possible to add auto-imported BIFs + without breaking or silently changing old code in the + future. However some current code ingeniously utilizing + the old behaviour or the nowarn_bif_clash compiler + directive, might need changing to be accepted by the + compiler.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-8579

+
+ +

The undocumented, unsupport, and deprecated function + lists:flat_length/1 has been removed.

+

+ Own Id: OTP-8584

+
+ +

Nested records can now be accessed without + parenthesis. See the Reference Manual for examples. + (Thanks to YAMASHINA Hio and Tuncer Ayaz.)

+

+ Own Id: OTP-8597

+
+ +

It is now possible to suppress the warning in code + such as "list_to_integer(S), ok" by assigning the + ignored value "_" like this: "_ = list_to_integer(S), + ok".

+

+ Own Id: OTP-8602

+
+ +

receive statements that can only read out a + newly created reference are now specially optimized so + that it will execute in constant time regardless of the + number of messages in the receive queue for the process. + That optimization will benefit calls to + gen_server:call(). (See gen:do_call/4 for + an example of a receive statement that will be + optimized.)

+

+ Own Id: OTP-8623

+
+ +

The compiler optimizes record operations better.

+

+ Own Id: OTP-8668

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