mirror of
https://github.com/python/cpython.git
synced 2025-09-21 16:10:33 +00:00
[3.8] bpo-37830: Fix compilation of break and continue in finally. (GH-15320) (GH-15456)
Fix compilation of "break" and "continue" in the
"finally" block when the corresponding "try" block
contains "return" with a non-constant value.
(cherry picked from commit ef61c524dd
)
This commit is contained in:
parent
920ec4b776
commit
ed146b52a3
11 changed files with 305 additions and 194 deletions
84
Python/importlib.h
generated
84
Python/importlib.h
generated
|
@ -301,14 +301,14 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
|
|||
0,0,115,6,0,0,0,8,2,8,4,8,4,114,50,0,
|
||||
0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,3,
|
||||
0,0,0,8,0,0,0,67,0,0,0,115,130,0,0,0,
|
||||
116,0,160,1,161,0,1,0,122,106,122,14,116,2,124,0,
|
||||
25,0,131,0,125,1,87,0,110,24,4,0,116,3,107,10,
|
||||
116,0,160,1,161,0,1,0,122,106,122,14,116,3,124,0,
|
||||
25,0,131,0,125,1,87,0,110,24,4,0,116,4,107,10,
|
||||
114,48,1,0,1,0,1,0,100,1,125,1,89,0,110,2,
|
||||
88,0,124,1,100,1,107,8,114,112,116,4,100,1,107,8,
|
||||
114,76,116,5,124,0,131,1,125,1,110,8,116,6,124,0,
|
||||
88,0,124,1,100,1,107,8,114,112,116,5,100,1,107,8,
|
||||
114,76,116,6,124,0,131,1,125,1,110,8,116,7,124,0,
|
||||
131,1,125,1,124,0,102,1,100,2,100,3,132,1,125,2,
|
||||
116,7,160,8,124,1,124,2,161,2,116,2,124,0,60,0,
|
||||
87,0,53,0,116,0,160,9,161,0,1,0,88,0,124,1,
|
||||
116,8,160,9,124,1,124,2,161,2,116,3,124,0,60,0,
|
||||
87,0,53,0,116,0,160,2,161,0,1,0,88,0,124,1,
|
||||
83,0,41,4,122,139,71,101,116,32,111,114,32,99,114,101,
|
||||
97,116,101,32,116,104,101,32,109,111,100,117,108,101,32,108,
|
||||
111,99,107,32,102,111,114,32,97,32,103,105,118,101,110,32,
|
||||
|
@ -320,22 +320,22 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
|
|||
32,32,32,95,109,111,100,117,108,101,95,108,111,99,107,115,
|
||||
46,78,99,2,0,0,0,0,0,0,0,0,0,0,0,2,
|
||||
0,0,0,8,0,0,0,83,0,0,0,115,48,0,0,0,
|
||||
116,0,160,1,161,0,1,0,122,24,116,2,160,3,124,1,
|
||||
161,1,124,0,107,8,114,30,116,2,124,1,61,0,87,0,
|
||||
53,0,116,0,160,4,161,0,1,0,88,0,100,0,83,0,
|
||||
116,0,160,1,161,0,1,0,122,24,116,3,160,4,124,1,
|
||||
161,1,124,0,107,8,114,30,116,3,124,1,61,0,87,0,
|
||||
53,0,116,0,160,2,161,0,1,0,88,0,100,0,83,0,
|
||||
114,13,0,0,0,41,5,218,4,95,105,109,112,218,12,97,
|
||||
99,113,117,105,114,101,95,108,111,99,107,218,13,95,109,111,
|
||||
100,117,108,101,95,108,111,99,107,115,114,34,0,0,0,218,
|
||||
12,114,101,108,101,97,115,101,95,108,111,99,107,41,2,218,
|
||||
99,113,117,105,114,101,95,108,111,99,107,218,12,114,101,108,
|
||||
101,97,115,101,95,108,111,99,107,218,13,95,109,111,100,117,
|
||||
108,101,95,108,111,99,107,115,114,34,0,0,0,41,2,218,
|
||||
3,114,101,102,114,17,0,0,0,114,10,0,0,0,114,10,
|
||||
0,0,0,114,11,0,0,0,218,2,99,98,176,0,0,0,
|
||||
115,10,0,0,0,0,1,8,1,2,4,14,1,10,2,122,
|
||||
28,95,103,101,116,95,109,111,100,117,108,101,95,108,111,99,
|
||||
107,46,60,108,111,99,97,108,115,62,46,99,98,41,10,114,
|
||||
57,0,0,0,114,58,0,0,0,114,59,0,0,0,218,8,
|
||||
75,101,121,69,114,114,111,114,114,23,0,0,0,114,49,0,
|
||||
0,0,114,20,0,0,0,218,8,95,119,101,97,107,114,101,
|
||||
102,114,61,0,0,0,114,60,0,0,0,41,3,114,17,0,
|
||||
57,0,0,0,114,58,0,0,0,114,59,0,0,0,114,60,
|
||||
0,0,0,218,8,75,101,121,69,114,114,111,114,114,23,0,
|
||||
0,0,114,49,0,0,0,114,20,0,0,0,218,8,95,119,
|
||||
101,97,107,114,101,102,114,61,0,0,0,41,3,114,17,0,
|
||||
0,0,114,24,0,0,0,114,62,0,0,0,114,10,0,0,
|
||||
0,114,10,0,0,0,114,11,0,0,0,114,53,0,0,0,
|
||||
157,0,0,0,115,28,0,0,0,0,6,8,1,2,1,2,
|
||||
|
@ -910,14 +910,14 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
|
|||
0,106,0,125,2,116,1,124,2,131,1,143,180,1,0,116,
|
||||
2,106,3,160,4,124,2,161,1,124,1,107,9,114,54,100,
|
||||
1,160,5,124,2,161,1,125,3,116,6,124,3,124,2,100,
|
||||
2,141,2,130,1,122,106,124,0,106,7,100,3,107,8,114,
|
||||
106,124,0,106,8,100,3,107,8,114,90,116,6,100,4,124,
|
||||
0,106,0,100,2,141,2,130,1,116,9,124,0,124,1,100,
|
||||
5,100,6,141,3,1,0,110,52,116,9,124,0,124,1,100,
|
||||
5,100,6,141,3,1,0,116,10,124,0,106,7,100,7,131,
|
||||
2,115,146,124,0,106,7,160,11,124,2,161,1,1,0,110,
|
||||
12,124,0,106,7,160,12,124,1,161,1,1,0,87,0,53,
|
||||
0,116,2,106,3,160,13,124,0,106,0,161,1,125,1,124,
|
||||
2,141,2,130,1,122,106,124,0,106,8,100,3,107,8,114,
|
||||
106,124,0,106,9,100,3,107,8,114,90,116,6,100,4,124,
|
||||
0,106,0,100,2,141,2,130,1,116,10,124,0,124,1,100,
|
||||
5,100,6,141,3,1,0,110,52,116,10,124,0,124,1,100,
|
||||
5,100,6,141,3,1,0,116,11,124,0,106,8,100,7,131,
|
||||
2,115,146,124,0,106,8,160,12,124,2,161,1,1,0,110,
|
||||
12,124,0,106,8,160,13,124,1,161,1,1,0,87,0,53,
|
||||
0,116,2,106,3,160,7,124,0,106,0,161,1,125,1,124,
|
||||
1,116,2,106,3,124,0,106,0,60,0,88,0,87,0,53,
|
||||
0,81,0,82,0,88,0,124,1,83,0,41,8,122,70,69,
|
||||
120,101,99,117,116,101,32,116,104,101,32,115,112,101,99,39,
|
||||
|
@ -930,10 +930,10 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
|
|||
115,105,110,103,32,108,111,97,100,101,114,84,114,143,0,0,
|
||||
0,114,150,0,0,0,41,14,114,17,0,0,0,114,50,0,
|
||||
0,0,114,15,0,0,0,114,92,0,0,0,114,34,0,0,
|
||||
0,114,45,0,0,0,114,79,0,0,0,114,109,0,0,0,
|
||||
114,117,0,0,0,114,148,0,0,0,114,4,0,0,0,218,
|
||||
11,108,111,97,100,95,109,111,100,117,108,101,114,150,0,0,
|
||||
0,218,3,112,111,112,41,4,114,95,0,0,0,114,96,0,
|
||||
0,114,45,0,0,0,114,79,0,0,0,218,3,112,111,112,
|
||||
114,109,0,0,0,114,117,0,0,0,114,148,0,0,0,114,
|
||||
4,0,0,0,218,11,108,111,97,100,95,109,111,100,117,108,
|
||||
101,114,150,0,0,0,41,4,114,95,0,0,0,114,96,0,
|
||||
0,0,114,17,0,0,0,218,3,109,115,103,114,10,0,0,
|
||||
0,114,10,0,0,0,114,11,0,0,0,114,93,0,0,0,
|
||||
71,2,0,0,115,34,0,0,0,0,2,6,1,10,1,16,
|
||||
|
@ -961,8 +961,8 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
|
|||
110,2,88,0,124,1,83,0,41,7,78,114,98,0,0,0,
|
||||
114,145,0,0,0,114,141,0,0,0,114,128,0,0,0,114,
|
||||
22,0,0,0,114,105,0,0,0,41,14,114,109,0,0,0,
|
||||
114,155,0,0,0,114,17,0,0,0,114,15,0,0,0,114,
|
||||
92,0,0,0,114,156,0,0,0,114,6,0,0,0,114,98,
|
||||
114,156,0,0,0,114,17,0,0,0,114,15,0,0,0,114,
|
||||
92,0,0,0,114,155,0,0,0,114,6,0,0,0,114,98,
|
||||
0,0,0,114,106,0,0,0,114,1,0,0,0,114,145,0,
|
||||
0,0,114,4,0,0,0,114,129,0,0,0,114,105,0,0,
|
||||
0,114,151,0,0,0,114,10,0,0,0,114,10,0,0,0,
|
||||
|
@ -979,22 +979,22 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
|
|||
116,3,124,0,131,1,125,1,100,2,124,0,95,4,122,162,
|
||||
124,1,116,5,106,6,124,0,106,7,60,0,122,52,124,0,
|
||||
106,0,100,0,107,8,114,96,124,0,106,8,100,0,107,8,
|
||||
114,108,116,9,100,3,124,0,106,7,100,4,141,2,130,1,
|
||||
114,108,116,9,100,4,124,0,106,7,100,5,141,2,130,1,
|
||||
110,12,124,0,106,0,160,10,124,1,161,1,1,0,87,0,
|
||||
110,50,1,0,1,0,1,0,122,14,116,5,106,6,124,0,
|
||||
106,7,61,0,87,0,110,20,4,0,116,11,107,10,114,152,
|
||||
1,0,1,0,1,0,89,0,110,2,88,0,130,0,89,0,
|
||||
110,2,88,0,116,5,106,6,160,12,124,0,106,7,161,1,
|
||||
125,1,124,1,116,5,106,6,124,0,106,7,60,0,116,13,
|
||||
100,5,124,0,106,7,124,0,106,0,131,3,1,0,87,0,
|
||||
53,0,100,6,124,0,95,4,88,0,124,1,83,0,41,7,
|
||||
78,114,150,0,0,0,84,114,154,0,0,0,114,16,0,0,
|
||||
0,122,18,105,109,112,111,114,116,32,123,33,114,125,32,35,
|
||||
32,123,33,114,125,70,41,14,114,109,0,0,0,114,4,0,
|
||||
100,6,124,0,106,7,124,0,106,0,131,3,1,0,87,0,
|
||||
53,0,100,3,124,0,95,4,88,0,124,1,83,0,41,7,
|
||||
78,114,150,0,0,0,84,70,114,154,0,0,0,114,16,0,
|
||||
0,0,122,18,105,109,112,111,114,116,32,123,33,114,125,32,
|
||||
35,32,123,33,114,125,41,14,114,109,0,0,0,114,4,0,
|
||||
0,0,114,158,0,0,0,114,152,0,0,0,90,13,95,105,
|
||||
110,105,116,105,97,108,105,122,105,110,103,114,15,0,0,0,
|
||||
114,92,0,0,0,114,17,0,0,0,114,117,0,0,0,114,
|
||||
79,0,0,0,114,150,0,0,0,114,63,0,0,0,114,156,
|
||||
79,0,0,0,114,150,0,0,0,114,63,0,0,0,114,155,
|
||||
0,0,0,114,76,0,0,0,114,151,0,0,0,114,10,0,
|
||||
0,0,114,10,0,0,0,114,11,0,0,0,218,14,95,108,
|
||||
111,97,100,95,117,110,108,111,99,107,101,100,138,2,0,0,
|
||||
|
@ -1158,7 +1158,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
|
|||
99,0,0,0,218,11,99,108,97,115,115,109,101,116,104,111,
|
||||
100,114,166,0,0,0,114,167,0,0,0,114,149,0,0,0,
|
||||
114,150,0,0,0,114,86,0,0,0,114,169,0,0,0,114,
|
||||
170,0,0,0,114,115,0,0,0,114,97,0,0,0,114,155,
|
||||
170,0,0,0,114,115,0,0,0,114,97,0,0,0,114,156,
|
||||
0,0,0,114,10,0,0,0,114,10,0,0,0,114,10,0,
|
||||
0,0,114,11,0,0,0,114,160,0,0,0,195,2,0,0,
|
||||
115,42,0,0,0,8,2,4,7,2,1,10,8,2,1,12,
|
||||
|
@ -1255,7 +1255,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
|
|||
101,120,101,99,95,109,111,100,117,108,101,40,41,32,105,110,
|
||||
115,116,101,97,100,46,10,10,32,32,32,32,32,32,32,32,
|
||||
41,1,114,97,0,0,0,114,168,0,0,0,114,10,0,0,
|
||||
0,114,10,0,0,0,114,11,0,0,0,114,155,0,0,0,
|
||||
0,114,10,0,0,0,114,11,0,0,0,114,156,0,0,0,
|
||||
61,3,0,0,115,2,0,0,0,0,7,122,26,70,114,111,
|
||||
122,101,110,73,109,112,111,114,116,101,114,46,108,111,97,100,
|
||||
95,109,111,100,117,108,101,99,2,0,0,0,0,0,0,0,
|
||||
|
@ -1294,7 +1294,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
|
|||
114,2,0,0,0,114,3,0,0,0,114,138,0,0,0,114,
|
||||
171,0,0,0,114,99,0,0,0,114,172,0,0,0,114,166,
|
||||
0,0,0,114,167,0,0,0,114,149,0,0,0,114,150,0,
|
||||
0,0,114,155,0,0,0,114,90,0,0,0,114,169,0,0,
|
||||
0,0,114,156,0,0,0,114,90,0,0,0,114,169,0,0,
|
||||
0,114,170,0,0,0,114,115,0,0,0,114,10,0,0,0,
|
||||
114,10,0,0,0,114,10,0,0,0,114,11,0,0,0,114,
|
||||
173,0,0,0,12,3,0,0,115,46,0,0,0,8,2,4,
|
||||
|
@ -1325,7 +1325,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
|
|||
108,111,99,107,32,114,101,103,97,114,100,108,101,115,115,32,
|
||||
111,102,32,97,110,121,32,114,97,105,115,101,100,32,101,120,
|
||||
99,101,112,116,105,111,110,115,46,78,41,2,114,57,0,0,
|
||||
0,114,60,0,0,0,41,4,114,30,0,0,0,218,8,101,
|
||||
0,114,59,0,0,0,41,4,114,30,0,0,0,218,8,101,
|
||||
120,99,95,116,121,112,101,218,9,101,120,99,95,118,97,108,
|
||||
117,101,218,13,101,120,99,95,116,114,97,99,101,98,97,99,
|
||||
107,114,10,0,0,0,114,10,0,0,0,114,11,0,0,0,
|
||||
|
@ -1762,7 +1762,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
|
|||
0,0,0,41,2,78,78,41,1,78,41,2,78,114,22,0,
|
||||
0,0,41,4,78,78,114,10,0,0,0,114,22,0,0,0,
|
||||
41,50,114,3,0,0,0,114,126,0,0,0,114,12,0,0,
|
||||
0,114,18,0,0,0,114,59,0,0,0,114,33,0,0,0,
|
||||
0,114,18,0,0,0,114,60,0,0,0,114,33,0,0,0,
|
||||
114,42,0,0,0,114,19,0,0,0,114,20,0,0,0,114,
|
||||
49,0,0,0,114,50,0,0,0,114,53,0,0,0,114,65,
|
||||
0,0,0,114,67,0,0,0,114,76,0,0,0,114,86,0,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue