<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/compiler, branch OTP-17.3.2</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<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>
<entry>
<title>[dialyzer] Fix handling of literal records</title>
<updated>2014-06-17T10:32:51+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2014-05-13T06:31:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=8498a35ce141c6e16feed198540b910b9475b2e2'/>
<id>8498a35ce141c6e16feed198540b910b9475b2e2</id>
<content type='text'>
This ticket is about records in Erlang code, and when to check the
fields against the (optional) types given when defining records.

Dialyzer operates on the Erlang Core format, where there are no trace
of records. The fix implemented is a Real Hack:

Given the new option 'dialyzer' erl_expand_records marks the line
number of records in a way that is undone by v3_core, which in turn
inserts annotations that can be recognized by Dialyzer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This ticket is about records in Erlang code, and when to check the
fields against the (optional) types given when defining records.

Dialyzer operates on the Erlang Core format, where there are no trace
of records. The fix implemented is a Real Hack:

Given the new option 'dialyzer' erl_expand_records marks the line
number of records in a way that is undone by v3_core, which in turn
inserts annotations that can be recognized by Dialyzer.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix handling of latin1 characters in false ifdef branches</title>
<updated>2014-06-16T12:32:42+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2014-06-16T12:25:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=9a9b77c72f95123ac0e6d1dab7f907a4f0f2e6a6'/>
<id>9a9b77c72f95123ac0e6d1dab7f907a4f0f2e6a6</id>
<content type='text'>
The fallback to latin-1 encoding would not work if the invalid
UTF-8 characters occurred in a skipped branch in an -ifdef/-ifndef.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The fallback to latin-1 encoding would not work if the invalid
UTF-8 characters occurred in a skipped branch in an -ifdef/-ifndef.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'egil/fix-maps-pretty-layout/OTP-11947' into maint</title>
<updated>2014-05-26T09:04:45+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2014-05-26T09:04:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=3c95f2613cc7030576f28dae73129dffc1962b96'/>
<id>3c95f2613cc7030576f28dae73129dffc1962b96</id>
<content type='text'>
* egil/fix-maps-pretty-layout/OTP-11947:
  dialyzer: Add Maps type mismatch test
  hipe,compiler: Fix Map literals pretty printing
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* egil/fix-maps-pretty-layout/OTP-11947:
  dialyzer: Add Maps type mismatch test
  hipe,compiler: Fix Map literals pretty printing
</pre>
</div>
</content>
</entry>
</feed>
