aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/cerl
diff options
context:
space:
mode:
authorMaria Christakis <[email protected]>2010-03-22 14:43:43 +0200
committerBjörn Gustavsson <[email protected]>2010-06-03 14:34:27 +0200
commitd775f62fd8f9f02679e0c5dd0ad3428dc22f7b93 (patch)
tree65a57a85132ffe0c544af3ada1bb206d3120cbe9 /lib/hipe/cerl
parentcafe056f56fef376b1721861cc39e957cfae3cb6 (diff)
downloadotp-d775f62fd8f9f02679e0c5dd0ad3428dc22f7b93.tar.gz
otp-d775f62fd8f9f02679e0c5dd0ad3428dc22f7b93.tar.bz2
otp-d775f62fd8f9f02679e0c5dd0ad3428dc22f7b93.zip
Add handling of unknown types
Diffstat (limited to 'lib/hipe/cerl')
-rw-r--r--lib/hipe/cerl/erl_types.erl8
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/hipe/cerl/erl_types.erl b/lib/hipe/cerl/erl_types.erl
index 8094cc505a..40697ea8ed 100644
--- a/lib/hipe/cerl/erl_types.erl
+++ b/lib/hipe/cerl/erl_types.erl
@@ -699,14 +699,12 @@ t_solve_remote(T, _ET, _R, _C) -> {T, []}.
t_solve_remote_type(#remote{mod = RemMod, name = Name, args = Args} = RemType,
ET, R, C) ->
+ ArgsLen = length(Args),
case dict:find(RemMod, R) of
error ->
- Msg = io_lib:format("Cannot locate module ~w to "
- "resolve the remote type: ~w:~w()~n",
- [RemMod, RemMod, Name]),
- throw({error, Msg});
+ self() ! {self(), ext_types, {RemMod, Name, ArgsLen}},
+ {t_any(), []};
{ok, RemDict} ->
- ArgsLen = length(Args),
MFA = {RemMod, Name, ArgsLen},
case sets:is_element(MFA, ET) of
true ->