aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/test/receive_SUITE.erl
diff options
context:
space:
mode:
authorFredrik Gustafsson <[email protected]>2013-04-29 10:02:05 +0200
committerFredrik Gustafsson <[email protected]>2013-04-29 10:02:05 +0200
commit3099c73a09e9108bc8866523b838fe6580f699e3 (patch)
treecdbf843f02d87381dcf7dca46996d6c6b16525f8 /lib/compiler/test/receive_SUITE.erl
parent9b4b5fd1f57819c6a3c04c563b88c0b04caba5fa (diff)
parent8aa46fd40d759de2d6a13fbafb5e88cdf1047220 (diff)
downloadotp-3099c73a09e9108bc8866523b838fe6580f699e3.tar.gz
otp-3099c73a09e9108bc8866523b838fe6580f699e3.tar.bz2
otp-3099c73a09e9108bc8866523b838fe6580f699e3.zip
Merge branch 'nox/fix-multiple-ref-regs/OTP-11069' into maint
* nox/fix-multiple-ref-regs/OTP-11069: Use a set to store ref registers in beam_receive
Diffstat (limited to 'lib/compiler/test/receive_SUITE.erl')
-rw-r--r--lib/compiler/test/receive_SUITE.erl13
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/compiler/test/receive_SUITE.erl b/lib/compiler/test/receive_SUITE.erl
index b91f2922fb..e60584d4ab 100644
--- a/lib/compiler/test/receive_SUITE.erl
+++ b/lib/compiler/test/receive_SUITE.erl
@@ -188,7 +188,7 @@ ref_opt(Config) when is_list(Config) ->
ref_opt_1(Config) ->
?line DataDir = ?config(data_dir, Config),
?line PrivDir = ?config(priv_dir, Config),
- ?line Sources = filelib:wildcard(filename:join([DataDir,"ref_opt","*.erl"])),
+ Sources = filelib:wildcard(filename:join([DataDir,"ref_opt","*.{erl,S}"])),
?line test_lib:p_run(fun(Src) ->
do_ref_opt(Src, PrivDir)
end, Sources),
@@ -196,10 +196,15 @@ ref_opt_1(Config) ->
do_ref_opt(Source, PrivDir) ->
try
- {ok,Mod} = c:c(Source, [{outdir,PrivDir}]),
+ Ext = filename:extension(Source),
+ {ok,Mod} = compile:file(Source, [report_errors,report_warnings,
+ {outdir,PrivDir}] ++
+ [from_asm || Ext =:= ".S" ]),
+ Base = filename:rootname(filename:basename(Source), Ext),
+ code:purge(list_to_atom(Base)),
+ BeamFile = filename:join(PrivDir, Base),
+ code:load_abs(BeamFile),
ok = Mod:Mod(),
- Base = filename:rootname(filename:basename(Source), ".erl"),
- BeamFile = filename:join(PrivDir, Base),
{beam_file,Mod,_,_,_,Code} = beam_disasm:file(BeamFile),
case Base of
"no_"++_ ->