<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/compiler, branch OTP-21.3</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>2019-03-11T10:52:56+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2019-03-11T10:52:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=9780184b2cf76eced1ef987408073e96cc29f3bb'/>
<id>9780184b2cf76eced1ef987408073e96cc29f3bb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make dialyzer faster for left-associative andalso/orelse expressions</title>
<updated>2019-02-13T08:55:02+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2019-02-13T07:58:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=5c4e24725e1f4b2db89b8f58423a0ba29132faf9'/>
<id>5c4e24725e1f4b2db89b8f58423a0ba29132faf9</id>
<content type='text'>
https://bugs.erlang.org/browse/ERL-851
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://bugs.erlang.org/browse/ERL-851
</pre>
</div>
</content>
</entry>
<entry>
<title>Eliminate bogus warning when using tuple calls</title>
<updated>2019-01-30T14:25:14+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2019-01-30T14:19:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=5f9b6873499882d32280883edaa97d7d0f526035'/>
<id>5f9b6873499882d32280883edaa97d7d0f526035</id>
<content type='text'>
There would be a bogus warning when compiling the following
function with the `tuple_calls` option:

    dispatch(X) -&gt;
        (list_to_atom("prefix_" ++ atom_to_list(suffix))):doit(X).

The warning would look like this:

    no_file: this expression will fail with a 'badarg' exception

https://bugs.erlang.org/browse/ERL-838
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There would be a bogus warning when compiling the following
function with the `tuple_calls` option:

    dispatch(X) -&gt;
        (list_to_atom("prefix_" ++ atom_to_list(suffix))):doit(X).

The warning would look like this:

    no_file: this expression will fail with a 'badarg' exception

https://bugs.erlang.org/browse/ERL-838
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'bjorn/compiler/beam_type/ERL_829/OTP-15518' into maint</title>
<updated>2019-01-16T11:47:01+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2019-01-16T11:47:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=5679396952f159eaf1c4f6e0cd48170f72ea24f6'/>
<id>5679396952f159eaf1c4f6e0cd48170f72ea24f6</id>
<content type='text'>
* bjorn/compiler/beam_type/ERL_829/OTP-15518:
  beam_type: Eliminate compiler crash when arithmetic expression fails
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bjorn/compiler/beam_type/ERL_829/OTP-15518:
  beam_type: Eliminate compiler crash when arithmetic expression fails
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'maint-21' into maint</title>
<updated>2019-01-16T10:46:43+00:00</updated>
<author>
<name>Rickard Green</name>
<email>rickard@erlang.org</email>
</author>
<published>2019-01-16T10:46:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d8a93cc52fe7342e4a79e396192f63ea673b98f4'/>
<id>d8a93cc52fe7342e4a79e396192f63ea673b98f4</id>
<content type='text'>
* maint-21:
  Updated OTP version
  Prepare release
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* maint-21:
  Updated OTP version
  Prepare release
</pre>
</div>
</content>
</entry>
<entry>
<title>Prepare release</title>
<updated>2019-01-15T18:35:08+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2019-01-15T18:35:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=9c005b842583f4aed77ec3a25038f0fd3623f8e9'/>
<id>9c005b842583f4aed77ec3a25038f0fd3623f8e9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>beam_type: Eliminate compiler crash when arithmetic expression fails</title>
<updated>2019-01-14T14:23:08+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2019-01-12T05:43:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=c9f5fdb5c92c418f28d67bb62ea8baac296da5ac'/>
<id>c9f5fdb5c92c418f28d67bb62ea8baac296da5ac</id>
<content type='text'>
The compiler would crash when compiling code such as:

     (A / B) band 16#ff

The type for the expression would be 'none', but beam_type:verified_type/1
did not handle 'none'.

https://bugs.erlang.org/browse/ERL-829
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The compiler would crash when compiling code such as:

     (A / B) band 16#ff

The type for the expression would be 'none', but beam_type:verified_type/1
did not handle 'none'.

https://bugs.erlang.org/browse/ERL-829
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'bjorn/compiler/interim-tuple-bug/OTP-15501/ERL-807' into maint</title>
<updated>2019-01-07T14:52:38+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2019-01-07T14:52:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=5a382cf1342f102a49bbf6faf11a9f90bdd7a7b7'/>
<id>5a382cf1342f102a49bbf6faf11a9f90bdd7a7b7</id>
<content type='text'>
* bjorn/compiler/interim-tuple-bug/OTP-15501/ERL-807:
  Remove unsafe optimization for delaying creation of stackframe
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bjorn/compiler/interim-tuple-bug/OTP-15501/ERL-807:
  Remove unsafe optimization for delaying creation of stackframe
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unsafe optimization for delaying creation of stackframe</title>
<updated>2019-01-07T11:55:26+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2018-12-18T11:59:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=7a01269e62f21ac3ba9858dd358716081549bea3'/>
<id>7a01269e62f21ac3ba9858dd358716081549bea3</id>
<content type='text'>
b89044a800c4 introduced an optimization that tries to delay creation
of stack frames. It turns out that this optimization is not always
safe. (See the new test case for an example.)

Since the code generator is completely rewritten in the `master`
branch for the upcoming OTP 22 release, it does not make sense trying
to mend this optimization. It is better to remove it.  Out of a sample
of about 1000 modules in OTP, about 50 of them are changed as a result
of removing this optimization.

The compiler in OTP 22 will do the same optimization in a cleaner,
safer, and more effective way.

https://bugs.erlang.org/browse/ERL-807
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
b89044a800c4 introduced an optimization that tries to delay creation
of stack frames. It turns out that this optimization is not always
safe. (See the new test case for an example.)

Since the code generator is completely rewritten in the `master`
branch for the upcoming OTP 22 release, it does not make sense trying
to mend this optimization. It is better to remove it.  Out of a sample
of about 1000 modules in OTP, about 50 of them are changed as a result
of removing this optimization.

The compiler in OTP 22 will do the same optimization in a cleaner,
safer, and more effective way.

https://bugs.erlang.org/browse/ERL-807
</pre>
</div>
</content>
</entry>
<entry>
<title>Add empty 'since' attribute for old modules and functions</title>
<updated>2018-12-12T20:21:26+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2018-12-12T18:32:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=50f64c60b87e8d03fedc3f9f4e655aff8ca9f16c'/>
<id>50f64c60b87e8d03fedc3f9f4e655aff8ca9f16c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
