diff options
author | Björn Gustavsson <[email protected]> | 2011-12-03 10:57:10 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2011-12-06 12:21:46 +0100 |
commit | 43a493df03174bc04d9a62edb4cff96943eebe35 (patch) | |
tree | 95b63b5f73d0aee727597563379aec093c3cd072 /lib/compiler/test/inline_SUITE_data | |
parent | 6c91e303fe844ec9a795216bb9e4d39e760cecb8 (diff) | |
download | otp-43a493df03174bc04d9a62edb4cff96943eebe35.tar.gz otp-43a493df03174bc04d9a62edb4cff96943eebe35.tar.bz2 otp-43a493df03174bc04d9a62edb4cff96943eebe35.zip |
inline_SUITE: Add the comma_splitter/1 test case
Compilation would fail with an error message similar to:
comma_splitter: function split_at_comma/2+32:
Internal consistency check failed - please report this bug.
Instruction: {put,{x,0}}
Error: {match_context,{x,0}}:
Noticed-by: René Kijewski
Diffstat (limited to 'lib/compiler/test/inline_SUITE_data')
-rw-r--r-- | lib/compiler/test/inline_SUITE_data/comma_splitter.erl | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/compiler/test/inline_SUITE_data/comma_splitter.erl b/lib/compiler/test/inline_SUITE_data/comma_splitter.erl new file mode 100644 index 0000000000..eaa89e0edc --- /dev/null +++ b/lib/compiler/test/inline_SUITE_data/comma_splitter.erl @@ -0,0 +1,18 @@ +-module(comma_splitter). +-export([?MODULE/0]). + +?MODULE() -> + {<<"def">>,<<"cba">>} = split_at_comma(<<"abc, def">>, <<>>), + ok. + +strip_leading_ws(<<N, Rest/binary>>) when N =< $\s -> + strip_leading_ws(Rest); +strip_leading_ws(B) -> + B. + +split_at_comma(<<>>, Accu) -> + {<<>>, Accu}; +split_at_comma(<<$,, Rest/binary>>, Accu) -> + {strip_leading_ws(Rest), Accu}; +split_at_comma(<<C, Rest/binary>>, Accu) -> + split_at_comma(Rest, <<C, Accu/binary>>). |