From 0db005980b30de5e6ad5dc3afee92d4c449a2f20 Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Sat, 18 May 2013 18:06:00 +0200 Subject: Restrict inlining of local fun references Local fun references look like plain old variables in the Core Erlang AST but should not be treated as such. Inlining of such expressions is now restricted to application contexts as a local fun reference should never occur in a guard. This is not perfect as it forbids inlining in some safe situations, but that is still better than a compiler crash. --- lib/compiler/test/inline_SUITE.erl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/compiler/test/inline_SUITE.erl') 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), -- cgit v1.2.3