diff options
author | Hans Bolinder <[email protected]> | 2017-01-10 10:52:38 +0100 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2017-01-10 10:52:38 +0100 |
commit | 448e8aca77dd29ed5b37d56f0700d24ac26a7243 (patch) | |
tree | 79c2ec78af77340ee0cdf27faab371720b20b20c /lib/hipe | |
parent | c60394a8ef642f8533fa26b0bc3d1dcb217c8866 (diff) | |
parent | 99ed930f507868906953c6169a58c03df3e10901 (diff) | |
download | otp-448e8aca77dd29ed5b37d56f0700d24ac26a7243.tar.gz otp-448e8aca77dd29ed5b37d56f0700d24ac26a7243.tar.bz2 otp-448e8aca77dd29ed5b37d56f0700d24ac26a7243.zip |
Merge branch 'maint'
* maint:
stdlib: Allow characters in types and constant patterns
Diffstat (limited to 'lib/hipe')
-rw-r--r-- | lib/hipe/cerl/erl_types.erl | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/hipe/cerl/erl_types.erl b/lib/hipe/cerl/erl_types.erl index 5a4cf77b81..b3ccdbf2a8 100644 --- a/lib/hipe/cerl/erl_types.erl +++ b/lib/hipe/cerl/erl_types.erl @@ -4534,6 +4534,8 @@ from_form({atom, _L, Atom}, _S, _D, L, C) -> {t_atom(Atom), L, C}; from_form({integer, _L, Int}, _S, _D, L, C) -> {t_integer(Int), L, C}; +from_form({char, _L, Char}, _S, _D, L, C) -> + {t_integer(Char), L, C}; from_form({op, _L, _Op, _Arg} = Op, _S, _D, L, C) -> case erl_eval:partial_eval(Op) of {integer, _, Val} -> @@ -5048,6 +5050,7 @@ check_record_fields({remote_type, _L, [{atom, _, _}, {atom, _, _}, Args]}, list_check_record_fields(Args, S, C); check_record_fields({atom, _L, _}, _S, C) -> C; check_record_fields({integer, _L, _}, _S, C) -> C; +check_record_fields({char, _L, _}, _S, C) -> C; check_record_fields({op, _L, _Op, _Arg}, _S, C) -> C; check_record_fields({op, _L, _Op, _Arg1, _Arg2}, _S, C) -> C; check_record_fields({type, _L, tuple, any}, _S, C) -> C; @@ -5149,6 +5152,7 @@ t_form_to_string({var, _L, Name}) -> atom_to_list(Name); t_form_to_string({atom, _L, Atom}) -> io_lib:write_string(atom_to_list(Atom), $'); % To quote or not to quote... ' t_form_to_string({integer, _L, Int}) -> integer_to_list(Int); +t_form_to_string({char, _L, Char}) -> integer_to_list(Char); t_form_to_string({op, _L, _Op, _Arg} = Op) -> case erl_eval:partial_eval(Op) of {integer, _, _} = Int -> t_form_to_string(Int); |