aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/test
diff options
context:
space:
mode:
authorFredrik Gustafsson <[email protected]>2013-07-29 11:12:11 +0200
committerFredrik Gustafsson <[email protected]>2013-07-29 11:12:11 +0200
commit6d3ee671a9c7a0ca9113bdedfd3f5ff630d8702f (patch)
tree5a1392591c466def4b4bf74cec05e9afa6196363 /lib/compiler/test
parenta938fc96881564f5f56a510b0c750efaa9ed48e4 (diff)
parentf37c304f72f9bb1a984560298a1317277aabad03 (diff)
downloadotp-6d3ee671a9c7a0ca9113bdedfd3f5ff630d8702f.tar.gz
otp-6d3ee671a9c7a0ca9113bdedfd3f5ff630d8702f.tar.bz2
otp-6d3ee671a9c7a0ca9113bdedfd3f5ff630d8702f.zip
Merge branch 'nox/fix-fname-inlining/OTP-11211' into maint
* nox/fix-fname-inlining/OTP-11211: Added primary bootstrap Restrict inlining of local fun references
Diffstat (limited to 'lib/compiler/test')
-rw-r--r--lib/compiler/test/inline_SUITE.erl3
-rw-r--r--lib/compiler/test/inline_SUITE_data/fname.erl29
2 files changed, 31 insertions, 1 deletions
diff --git a/lib/compiler/test/inline_SUITE.erl b/lib/compiler/test/inline_SUITE.erl
index d9b92766e4..e5c2d4f73a 100644
--- a/lib/compiler/test/inline_SUITE.erl
+++ b/lib/compiler/test/inline_SUITE.erl
@@ -36,7 +36,7 @@ all() ->
groups() ->
[{p,test_lib:parallel(),
- [attribute,bsdecode,bsdes,barnes2,decode1,smith,
+ [attribute,bsdecode,bsdes,barnes2,decode1,smith,fname,
itracer,pseudoknot,comma_splitter,lists,really_inlined,otp_7223,
coverage]}].
@@ -84,6 +84,7 @@ attribute(Config) when is_list(Config) ->
?comp(itracer).
?comp(pseudoknot).
?comp(comma_splitter).
+?comp(fname).
try_inline(Mod, Config) ->
Node = ?config(testing_node, Config),
diff --git a/lib/compiler/test/inline_SUITE_data/fname.erl b/lib/compiler/test/inline_SUITE_data/fname.erl
new file mode 100644
index 0000000000..7ad4446bf3
--- /dev/null
+++ b/lib/compiler/test/inline_SUITE_data/fname.erl
@@ -0,0 +1,29 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2013. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+-module(fname).
+-export([?MODULE/0]).
+
+?MODULE() ->
+ F = fun bar/1,
+ G = lists:last([(fun (X) when F =:= X -> X end)]),
+ F = G(F),
+ ok.
+
+bar(X) ->
+ X.