aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrea Corallo2019-07-06 19:51:53 +0200
committerAndrea Corallo2020-01-01 11:33:49 +0100
commitcfcfd1fe8d6e16b85bf28a09582b81683e263db2 (patch)
treea93f81230ac0b74c2618dc06760ad41edfc74538 /src
parentccc719b230776b856aa4bf581ff19fd681a1aa56 (diff)
downloademacs-cfcfd1fe8d6e16b85bf28a09582b81683e263db2.tar.gz
emacs-cfcfd1fe8d6e16b85bf28a09582b81683e263db2.zip
fix jump table
Diffstat (limited to 'src')
-rw-r--r--src/comp.c14
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;