<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/compiler, branch OTP-17.4.1</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Prepare release</title>
<updated>2014-12-09T14:21:47+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2014-12-09T14:21:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=7f3486a5ddc02a366f2945dfd009c4a2697a2b98'/>
<id>7f3486a5ddc02a366f2945dfd009c4a2697a2b98</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>compiler: Coalesce map keys in dialyzer mode</title>
<updated>2014-12-01T15:41:13+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2014-11-28T01:42:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=56f9f62b59eda9dcc36bd47efef68b0243e0cfd1'/>
<id>56f9f62b59eda9dcc36bd47efef68b0243e0cfd1</id>
<content type='text'>
This fixes a regression introduced in commit 805f9c89fc01220bc1bb0f27e1b68fd4eca688ba
The problem occured with map keys compiled with dialyzer option turned on.

In OTP 17, map keys needs to be literals.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a regression introduced in commit 805f9c89fc01220bc1bb0f27e1b68fd4eca688ba
The problem occured with map keys compiled with dialyzer option turned on.

In OTP 17, map keys needs to be literals.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix miscompilation when module contains multiple named funs</title>
<updated>2014-10-27T11:28:28+00:00</updated>
<author>
<name>Anthony Ramine</name>
<email>n.oxyde@gmail.com</email>
</author>
<published>2014-09-27T13:29:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=9430e6e0223f8d9ae592f8062a50285d23becd5a'/>
<id>9430e6e0223f8d9ae592f8062a50285d23becd5a</id>
<content type='text'>
A module containing two named funs bearing the same name and arity could be
miscompiled.

Reported-by: Sam Chapin
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A module containing two named funs bearing the same name and arity could be
miscompiled.

Reported-by: Sam Chapin
</pre>
</div>
</content>
</entry>
<entry>
<title>Update release notes</title>
<updated>2014-09-15T10:02:14+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2014-09-15T10:02:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=950d808c97a4c5b579f4f1cc16b95f2d419d3505'/>
<id>950d808c97a4c5b579f4f1cc16b95f2d419d3505</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update version numbers</title>
<updated>2014-09-15T10:00:20+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2014-09-15T10:00:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=2191e216a95d3cb41edd7ad2069e3b2d88b907e7'/>
<id>2191e216a95d3cb41edd7ad2069e3b2d88b907e7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>sys_core_fold: Eliminate name capture bug</title>
<updated>2014-09-01T10:41:17+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2014-08-15T13:37:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=81b02eabf162608cba491f1be66dc6226e0aef0c'/>
<id>81b02eabf162608cba491f1be66dc6226e0aef0c</id>
<content type='text'>
The scope is supposed to contain all variables that are currently
live. We need this information for certain optimizations to
avoid capturing a name (a name that is in the scope must be renamed;
for an example, see move_let_into_expr/2 or any function that calls
sub_subst_scope/1). We also use the scope to optimize sub_del_var/2
and sub_is_val/2.

When optimizing case expressions, the scope could be reset to an
empty list (because sub_new/0 was called instead of sub_new/1).
That could cause name capture if inlining was turned on.

As simple way to force this bug is to uncomment the
"-define(DEBUG, 1)." near the beginning of the file. Without this
correction, most files in the test suite fail to compile.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The scope is supposed to contain all variables that are currently
live. We need this information for certain optimizations to
avoid capturing a name (a name that is in the scope must be renamed;
for an example, see move_let_into_expr/2 or any function that calls
sub_subst_scope/1). We also use the scope to optimize sub_del_var/2
and sub_is_val/2.

When optimizing case expressions, the scope could be reset to an
empty list (because sub_new/0 was called instead of sub_new/1).
That could cause name capture if inlining was turned on.

As simple way to force this bug is to uncomment the
"-define(DEBUG, 1)." near the beginning of the file. Without this
correction, most files in the test suite fail to compile.
</pre>
</div>
</content>
</entry>
<entry>
<title>Prepare release</title>
<updated>2014-06-19T11:47:21+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2014-06-19T11:47:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=77da984614ae462912a1896ba1bb73c798ffd4f8'/>
<id>77da984614ae462912a1896ba1bb73c798ffd4f8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'egil/fix-doc-links' into maint</title>
<updated>2014-06-18T14:01:58+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2014-06-18T14:01:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=42ad82b3186b69fec93ab07ea686490bf2fe5840'/>
<id>42ad82b3186b69fec93ab07ea686490bf2fe5840</id>
<content type='text'>
* egil/fix-doc-links:
  doc: Fix broken links in Installation Guide
  doc: Fix broken links
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* egil/fix-doc-links:
  doc: Fix broken links in Installation Guide
  doc: Fix broken links
</pre>
</div>
</content>
</entry>
<entry>
<title>doc: Fix broken links</title>
<updated>2014-06-17T14:26:50+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2014-06-17T14:26:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=f47320f43c3fb39f78054834e60ae9424ac79f35'/>
<id>f47320f43c3fb39f78054834e60ae9424ac79f35</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[dialyzer] Use the  option 'dialyzer' to control the compiler</title>
<updated>2014-06-17T10:32:52+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2014-05-19T12:50:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=deca0a0687285af2c807715c9cc5de0a02c16ec2'/>
<id>deca0a0687285af2c807715c9cc5de0a02c16ec2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
