diff options
author | Björn Gustavsson <[email protected]> | 2015-11-19 12:13:21 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2015-11-20 14:24:57 +0100 |
commit | d4bb044cb5359c6d4bffe3efcb8256cf7199bdf3 (patch) | |
tree | 4cfb696d78ed911a9d04746a3b7c10a80bdb1950 /lib/compiler/src | |
parent | d4a3296ba3117315343057715ee428490e992ef0 (diff) | |
download | otp-d4bb044cb5359c6d4bffe3efcb8256cf7199bdf3.tar.gz otp-d4bb044cb5359c6d4bffe3efcb8256cf7199bdf3.tar.bz2 otp-d4bb044cb5359c6d4bffe3efcb8256cf7199bdf3.zip |
Fix missing filename and line number in warning
When the 'bin_opt_info' is given, warnings without filenames
and line numbers could sometimes be produced:
no_file: Warning: INFO: matching non-variables after
a previous clause matching a variable will prevent delayed
sub binary optimization
The reason for the missing information is that #c_alias{} records lack
location information. There are several ways to fix the problem. The
easiest seems to be to get the location information from the
code).
Noticed-by: José Valim
Diffstat (limited to 'lib/compiler/src')
-rw-r--r-- | lib/compiler/src/sys_core_fold.erl | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/compiler/src/sys_core_fold.erl b/lib/compiler/src/sys_core_fold.erl index 27d023d067..65699ccda9 100644 --- a/lib/compiler/src/sys_core_fold.erl +++ b/lib/compiler/src/sys_core_fold.erl @@ -3091,12 +3091,12 @@ bsm_ensure_no_partition_2([#c_var{name=V}|Ps], N, G, Vstate, S) -> bsm_ensure_no_partition_2([_|Ps], N, G, _, S) -> bsm_ensure_no_partition_2(Ps, N-1, G, bin_argument_order, S). -bsm_ensure_no_partition_after([#c_clause{pats=Ps}|Cs], Pos) -> +bsm_ensure_no_partition_after([#c_clause{pats=Ps}=C|Cs], Pos) -> case nth(Pos, Ps) of #c_var{} -> bsm_ensure_no_partition_after(Cs, Pos); - P -> - bsm_problem(P, bin_partition) + _ -> + bsm_problem(C, bin_partition) end; bsm_ensure_no_partition_after([], _) -> ok. |