diff options
| author | Andrea Corallo | 2019-07-06 19:51:53 +0200 |
|---|---|---|
| committer | Andrea Corallo | 2020-01-01 11:33:49 +0100 |
| commit | cfcfd1fe8d6e16b85bf28a09582b81683e263db2 (patch) | |
| tree | a93f81230ac0b74c2618dc06760ad41edfc74538 /src/comp.c | |
| parent | ccc719b230776b856aa4bf581ff19fd681a1aa56 (diff) | |
| download | emacs-cfcfd1fe8d6e16b85bf28a09582b81683e263db2.tar.gz emacs-cfcfd1fe8d6e16b85bf28a09582b81683e263db2.zip | |
fix jump table
Diffstat (limited to 'src/comp.c')
| -rw-r--r-- | src/comp.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/comp.c b/src/comp.c index 54f6602c52f..4837b122106 100644 --- a/src/comp.c +++ b/src/comp.c | |||
| @@ -1853,7 +1853,6 @@ compute_blocks (ptrdiff_t bytestr_length, unsigned char *bytestr_data, | |||
| 1853 | case Bvarbind6: | 1853 | case Bvarbind6: |
| 1854 | case Bcall6: | 1854 | case Bcall6: |
| 1855 | case Bunbind6: | 1855 | case Bunbind6: |
| 1856 | case Bconstant2: | ||
| 1857 | case BlistN: | 1856 | case BlistN: |
| 1858 | case BconcatN: | 1857 | case BconcatN: |
| 1859 | case BinsertN: | 1858 | case BinsertN: |
| @@ -1895,11 +1894,12 @@ compute_blocks (ptrdiff_t bytestr_length, unsigned char *bytestr_data, | |||
| 1895 | /* Handled in Bconstant case. */ | 1894 | /* Handled in Bconstant case. */ |
| 1896 | emacs_abort (); | 1895 | emacs_abort (); |
| 1897 | break; | 1896 | break; |
| 1897 | case Bconstant2: | ||
| 1898 | op = FETCH2; | ||
| 1899 | FALLTHROUGH; | ||
| 1900 | default: | ||
| 1898 | case Bconstant: | 1901 | case Bconstant: |
| 1899 | { | 1902 | { |
| 1900 | if (!(Bconstant <= op && op < Bconstant + const_length)) | ||
| 1901 | emacs_abort (); | ||
| 1902 | |||
| 1903 | if (bytestr_data[pc] != Bswitch) | 1903 | if (bytestr_data[pc] != Bswitch) |
| 1904 | break; | 1904 | break; |
| 1905 | /* Jump table with following Bswitch. */ | 1905 | /* Jump table with following Bswitch. */ |
| @@ -1915,8 +1915,6 @@ compute_blocks (ptrdiff_t bytestr_length, unsigned char *bytestr_data, | |||
| 1915 | bb_start_pc[bb_n++] = pc; | 1915 | bb_start_pc[bb_n++] = pc; |
| 1916 | ++pc; | 1916 | ++pc; |
| 1917 | } | 1917 | } |
| 1918 | default: | ||
| 1919 | break; | ||
| 1920 | } | 1918 | } |
| 1921 | } | 1919 | } |
| 1922 | 1920 | ||
| @@ -3032,8 +3030,8 @@ compile_f (const char *lisp_f_name, const char *c_f_name, | |||
| 3032 | CASE_CALL_N (end_of_line, 1); | 3030 | CASE_CALL_N (end_of_line, 1); |
| 3033 | 3031 | ||
| 3034 | CASE (Bconstant2); | 3032 | CASE (Bconstant2); |
| 3035 | goto do_constant; | 3033 | op = FETCH2; |
| 3036 | break; | 3034 | goto do_constant; |
| 3037 | 3035 | ||
| 3038 | CASE (Bgoto); | 3036 | CASE (Bgoto); |
| 3039 | op = FETCH2; | 3037 | op = FETCH2; |