<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/compiler/src, 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>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>[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>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>
<entry>
<title>Support maps in cerl:ann_make_tree/3</title>
<updated>2014-05-04T09:04:17+00:00</updated>
<author>
<name>Anthony Ramine</name>
<email>n.oxyde@gmail.com</email>
</author>
<published>2014-05-04T09:01:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=41fa9cf089edf3d8c0d7950d38285ebd68ec8070'/>
<id>41fa9cf089edf3d8c0d7950d38285ebd68ec8070</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>hipe,compiler: Fix Map literals pretty printing</title>
<updated>2014-04-28T14:50:51+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2014-04-28T13:56:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a53bcf79429c73bce86d57a47ecfcc4acf0fbd70'/>
<id>a53bcf79429c73bce86d57a47ecfcc4acf0fbd70</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>compiler: Fix compiling map keys in patterns from core</title>
<updated>2014-04-03T12:32:44+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2014-04-02T16:35:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=c655521ab142547c371df3470a3fc62beef048ae'/>
<id>c655521ab142547c371df3470a3fc62beef048ae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>compiler,stdlib: Fix Map literals as keys for Maps in patterns</title>
<updated>2014-04-03T12:32:44+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2014-04-02T15:00:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=cc7a3c5896bc266bb97287dd4e31b696d8cf604f'/>
<id>cc7a3c5896bc266bb97287dd4e31b696d8cf604f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Take out no_native compiler attribute</title>
<updated>2014-03-28T16:46:34+00:00</updated>
<author>
<name>Kostis Sagonas</name>
<email>kostis@it.uu.se</email>
</author>
<published>2014-03-28T16:46:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=313bd52d160a66b24cff143fd8903e54dd8c6ca4'/>
<id>313bd52d160a66b24cff143fd8903e54dd8c6ca4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support the translation of the is_map BEAM instruction to Icode</title>
<updated>2014-03-28T16:08:15+00:00</updated>
<author>
<name>Kostis Sagonas</name>
<email>kostis@it.uu.se</email>
</author>
<published>2014-03-28T16:08:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=3e8449e112be0fbd06786e14fd07148c1e8f5b53'/>
<id>3e8449e112be0fbd06786e14fd07148c1e8f5b53</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
