Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
9d179ce4
Commit
9d179ce4
authored
Jan 19, 2007
by
Martin v. Löwis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Prefix AST symbols with _Py_. Fixes #1637022.
parent
fa941b93
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
153 additions
and
88 deletions
+153
-88
Include/Python-ast.h
Include/Python-ast.h
+145
-87
Misc/NEWS
Misc/NEWS
+2
-0
Parser/asdl_c.py
Parser/asdl_c.py
+6
-1
No files found.
Include/Python-ast.h
View file @
9d179ce4
...
@@ -349,95 +349,153 @@ struct _alias {
...
@@ -349,95 +349,153 @@ struct _alias {
};
};
mod_ty
Module
(
asdl_seq
*
body
,
PyArena
*
arena
);
#define Module(a0, a1) _Py_Module(a0, a1)
mod_ty
Interactive
(
asdl_seq
*
body
,
PyArena
*
arena
);
mod_ty
_Py_Module
(
asdl_seq
*
body
,
PyArena
*
arena
);
mod_ty
Expression
(
expr_ty
body
,
PyArena
*
arena
);
#define Interactive(a0, a1) _Py_Interactive(a0, a1)
mod_ty
Suite
(
asdl_seq
*
body
,
PyArena
*
arena
);
mod_ty
_Py_Interactive
(
asdl_seq
*
body
,
PyArena
*
arena
);
stmt_ty
FunctionDef
(
identifier
name
,
arguments_ty
args
,
asdl_seq
*
body
,
#define Expression(a0, a1) _Py_Expression(a0, a1)
asdl_seq
*
decorators
,
int
lineno
,
int
col_offset
,
PyArena
mod_ty
_Py_Expression
(
expr_ty
body
,
PyArena
*
arena
);
#define Suite(a0, a1) _Py_Suite(a0, a1)
mod_ty
_Py_Suite
(
asdl_seq
*
body
,
PyArena
*
arena
);
#define FunctionDef(a0, a1, a2, a3, a4, a5, a6) _Py_FunctionDef(a0, a1, a2, a3, a4, a5, a6)
stmt_ty
_Py_FunctionDef
(
identifier
name
,
arguments_ty
args
,
asdl_seq
*
body
,
asdl_seq
*
decorators
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define ClassDef(a0, a1, a2, a3, a4, a5) _Py_ClassDef(a0, a1, a2, a3, a4, a5)
stmt_ty
_Py_ClassDef
(
identifier
name
,
asdl_seq
*
bases
,
asdl_seq
*
body
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define Return(a0, a1, a2, a3) _Py_Return(a0, a1, a2, a3)
stmt_ty
_Py_Return
(
expr_ty
value
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define Delete(a0, a1, a2, a3) _Py_Delete(a0, a1, a2, a3)
stmt_ty
_Py_Delete
(
asdl_seq
*
targets
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
*
arena
);
stmt_ty
ClassDef
(
identifier
name
,
asdl_seq
*
bases
,
asdl_seq
*
body
,
int
#define Assign(a0, a1, a2, a3, a4) _Py_Assign(a0, a1, a2, a3, a4)
stmt_ty
_Py_Assign
(
asdl_seq
*
targets
,
expr_ty
value
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define AugAssign(a0, a1, a2, a3, a4, a5) _Py_AugAssign(a0, a1, a2, a3, a4, a5)
stmt_ty
_Py_AugAssign
(
expr_ty
target
,
operator_ty
op
,
expr_ty
value
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
lineno
,
int
col_offset
,
PyArena
*
arena
);
stmt_ty
Return
(
expr_ty
value
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define Print(a0, a1, a2, a3, a4, a5) _Py_Print(a0, a1, a2, a3, a4, a5)
stmt_ty
Delete
(
asdl_seq
*
targets
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
stmt_ty
_Py_Print
(
expr_ty
dest
,
asdl_seq
*
values
,
bool
nl
,
int
lineno
,
int
stmt_ty
Assign
(
asdl_seq
*
targets
,
expr_ty
value
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
stmt_ty
AugAssign
(
expr_ty
target
,
operator_ty
op
,
expr_ty
value
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
stmt_ty
Print
(
expr_ty
dest
,
asdl_seq
*
values
,
bool
nl
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
col_offset
,
PyArena
*
arena
);
stmt_ty
For
(
expr_ty
target
,
expr_ty
iter
,
asdl_seq
*
body
,
asdl_seq
*
orelse
,
#define For(a0, a1, a2, a3, a4, a5, a6) _Py_For(a0, a1, a2, a3, a4, a5, a6)
stmt_ty
_Py_For
(
expr_ty
target
,
expr_ty
iter
,
asdl_seq
*
body
,
asdl_seq
*
orelse
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5)
stmt_ty
_Py_While
(
expr_ty
test
,
asdl_seq
*
body
,
asdl_seq
*
orelse
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5)
stmt_ty
_Py_If
(
expr_ty
test
,
asdl_seq
*
body
,
asdl_seq
*
orelse
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define With(a0, a1, a2, a3, a4, a5) _Py_With(a0, a1, a2, a3, a4, a5)
stmt_ty
_Py_With
(
expr_ty
context_expr
,
expr_ty
optional_vars
,
asdl_seq
*
body
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
stmt_ty
While
(
expr_ty
test
,
asdl_seq
*
body
,
asdl_seq
*
orelse
,
int
lineno
,
int
#define Raise(a0, a1, a2, a3, a4, a5) _Py_Raise(a0, a1, a2, a3, a4, a5)
stmt_ty
_Py_Raise
(
expr_ty
type
,
expr_ty
inst
,
expr_ty
tback
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
col_offset
,
PyArena
*
arena
);
stmt_ty
If
(
expr_ty
test
,
asdl_seq
*
body
,
asdl_seq
*
orelse
,
int
lineno
,
int
#define TryExcept(a0, a1, a2, a3, a4, a5) _Py_TryExcept(a0, a1, a2, a3, a4, a5)
col_offset
,
PyArena
*
arena
);
stmt_ty
_Py_TryExcept
(
asdl_seq
*
body
,
asdl_seq
*
handlers
,
asdl_seq
*
orelse
,
stmt_ty
With
(
expr_ty
context_expr
,
expr_ty
optional_vars
,
asdl_seq
*
body
,
int
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define TryFinally(a0, a1, a2, a3, a4) _Py_TryFinally(a0, a1, a2, a3, a4)
stmt_ty
Raise
(
expr_ty
type
,
expr_ty
inst
,
expr_ty
tback
,
int
lineno
,
int
stmt_ty
_Py_TryFinally
(
asdl_seq
*
body
,
asdl_seq
*
finalbody
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
col_offset
,
PyArena
*
arena
);
stmt_ty
TryExcept
(
asdl_seq
*
body
,
asdl_seq
*
handlers
,
asdl_seq
*
orelse
,
int
#define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4)
stmt_ty
_Py_Assert
(
expr_ty
test
,
expr_ty
msg
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define Import(a0, a1, a2, a3) _Py_Import(a0, a1, a2, a3)
stmt_ty
_Py_Import
(
asdl_seq
*
names
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define ImportFrom(a0, a1, a2, a3, a4, a5) _Py_ImportFrom(a0, a1, a2, a3, a4, a5)
stmt_ty
_Py_ImportFrom
(
identifier
module
,
asdl_seq
*
names
,
int
level
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
lineno
,
int
col_offset
,
PyArena
*
arena
);
stmt_ty
TryFinally
(
asdl_seq
*
body
,
asdl_seq
*
finalbody
,
int
lineno
,
int
#define Exec(a0, a1, a2, a3, a4, a5) _Py_Exec(a0, a1, a2, a3, a4, a5)
stmt_ty
_Py_Exec
(
expr_ty
body
,
expr_ty
globals
,
expr_ty
locals
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
col_offset
,
PyArena
*
arena
);
stmt_ty
Assert
(
expr_ty
test
,
expr_ty
msg
,
int
lineno
,
int
col_offset
,
PyArena
#define Global(a0, a1, a2, a3) _Py_Global(a0, a1, a2, a3)
stmt_ty
_Py_Global
(
asdl_seq
*
names
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
*
arena
);
stmt_ty
Import
(
asdl_seq
*
names
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define Expr(a0, a1, a2, a3) _Py_Expr(a0, a1, a2, a3)
stmt_ty
ImportFrom
(
identifier
module
,
asdl_seq
*
names
,
int
level
,
int
lineno
,
stmt_ty
_Py_Expr
(
expr_ty
value
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
int
col_offset
,
PyArena
*
arena
);
#define Pass(a0, a1, a2) _Py_Pass(a0, a1, a2)
stmt_ty
Exec
(
expr_ty
body
,
expr_ty
globals
,
expr_ty
locals
,
int
lineno
,
int
stmt_ty
_Py_Pass
(
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
col_offset
,
PyArena
*
arena
);
#define Break(a0, a1, a2) _Py_Break(a0, a1, a2)
stmt_ty
Global
(
asdl_seq
*
names
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
stmt_ty
_Py_Break
(
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
stmt_ty
Expr
(
expr_ty
value
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define Continue(a0, a1, a2) _Py_Continue(a0, a1, a2)
stmt_ty
Pass
(
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
stmt_ty
_Py_Continue
(
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
stmt_ty
Break
(
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define BoolOp(a0, a1, a2, a3, a4) _Py_BoolOp(a0, a1, a2, a3, a4)
stmt_ty
Continue
(
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
expr_ty
_Py_BoolOp
(
boolop_ty
op
,
asdl_seq
*
values
,
int
lineno
,
int
col_offset
,
expr_ty
BoolOp
(
boolop_ty
op
,
asdl_seq
*
values
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
PyArena
*
arena
);
expr_ty
BinOp
(
expr_ty
left
,
operator_ty
op
,
expr_ty
right
,
int
lineno
,
int
#define BinOp(a0, a1, a2, a3, a4, a5) _Py_BinOp(a0, a1, a2, a3, a4, a5)
expr_ty
_Py_BinOp
(
expr_ty
left
,
operator_ty
op
,
expr_ty
right
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
col_offset
,
PyArena
*
arena
);
expr_ty
UnaryOp
(
unaryop_ty
op
,
expr_ty
operand
,
int
lineno
,
int
col_offset
,
#define UnaryOp(a0, a1, a2, a3, a4) _Py_UnaryOp(a0, a1, a2, a3, a4)
expr_ty
_Py_UnaryOp
(
unaryop_ty
op
,
expr_ty
operand
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
PyArena
*
arena
);
expr_ty
Lambda
(
arguments_ty
args
,
expr_ty
body
,
int
lineno
,
int
col_offset
,
#define Lambda(a0, a1, a2, a3, a4) _Py_Lambda(a0, a1, a2, a3, a4)
expr_ty
_Py_Lambda
(
arguments_ty
args
,
expr_ty
body
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
PyArena
*
arena
);
expr_ty
IfExp
(
expr_ty
test
,
expr_ty
body
,
expr_ty
orelse
,
int
lineno
,
int
#define IfExp(a0, a1, a2, a3, a4, a5) _Py_IfExp(a0, a1, a2, a3, a4, a5)
expr_ty
_Py_IfExp
(
expr_ty
test
,
expr_ty
body
,
expr_ty
orelse
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
col_offset
,
PyArena
*
arena
);
expr_ty
Dict
(
asdl_seq
*
keys
,
asdl_seq
*
values
,
int
lineno
,
int
col_offset
,
#define Dict(a0, a1, a2, a3, a4) _Py_Dict(a0, a1, a2, a3, a4)
PyArena
*
arena
);
expr_ty
_Py_Dict
(
asdl_seq
*
keys
,
asdl_seq
*
values
,
int
lineno
,
int
expr_ty
ListComp
(
expr_ty
elt
,
asdl_seq
*
generators
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
col_offset
,
PyArena
*
arena
);
expr_ty
GeneratorExp
(
expr_ty
elt
,
asdl_seq
*
generators
,
int
lineno
,
int
#define ListComp(a0, a1, a2, a3, a4) _Py_ListComp(a0, a1, a2, a3, a4)
expr_ty
_Py_ListComp
(
expr_ty
elt
,
asdl_seq
*
generators
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
col_offset
,
PyArena
*
arena
);
expr_ty
Yield
(
expr_ty
value
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4)
expr_ty
Compare
(
expr_ty
left
,
asdl_int_seq
*
ops
,
asdl_seq
*
comparators
,
int
expr_ty
_Py_GeneratorExp
(
expr_ty
elt
,
asdl_seq
*
generators
,
int
lineno
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
col_offset
,
PyArena
*
arena
);
expr_ty
Call
(
expr_ty
func
,
asdl_seq
*
args
,
asdl_seq
*
keywords
,
expr_ty
#define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3)
expr_ty
_Py_Yield
(
expr_ty
value
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5)
expr_ty
_Py_Compare
(
expr_ty
left
,
asdl_int_seq
*
ops
,
asdl_seq
*
comparators
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define Call(a0, a1, a2, a3, a4, a5, a6, a7) _Py_Call(a0, a1, a2, a3, a4, a5, a6, a7)
expr_ty
_Py_Call
(
expr_ty
func
,
asdl_seq
*
args
,
asdl_seq
*
keywords
,
expr_ty
starargs
,
expr_ty
kwargs
,
int
lineno
,
int
col_offset
,
PyArena
starargs
,
expr_ty
kwargs
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
*
arena
);
expr_ty
Repr
(
expr_ty
value
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define Repr(a0, a1, a2, a3) _Py_Repr(a0, a1, a2, a3)
expr_ty
Num
(
object
n
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
expr_ty
_Py_Repr
(
expr_ty
value
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
expr_ty
Str
(
string
s
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3)
expr_ty
Attribute
(
expr_ty
value
,
identifier
attr
,
expr_context_ty
ctx
,
int
expr_ty
_Py_Num
(
object
n
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3)
expr_ty
_Py_Str
(
string
s
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5)
expr_ty
_Py_Attribute
(
expr_ty
value
,
identifier
attr
,
expr_context_ty
ctx
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
lineno
,
int
col_offset
,
PyArena
*
arena
);
expr_ty
Subscript
(
expr_ty
value
,
slice_ty
slice
,
expr_context_ty
ctx
,
int
#define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5)
expr_ty
_Py_Subscript
(
expr_ty
value
,
slice_ty
slice
,
expr_context_ty
ctx
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
lineno
,
int
col_offset
,
PyArena
*
arena
);
expr_ty
Name
(
identifier
id
,
expr_context_ty
ctx
,
int
lineno
,
int
col_offset
,
#define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4)
PyArena
*
arena
);
expr_ty
_Py_Name
(
identifier
id
,
expr_context_ty
ctx
,
int
lineno
,
int
expr_ty
List
(
asdl_seq
*
elts
,
expr_context_ty
ctx
,
int
lineno
,
int
col_offset
,
col_offset
,
PyArena
*
arena
);
PyArena
*
arena
);
#define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4)
expr_ty
Tuple
(
asdl_seq
*
elts
,
expr_context_ty
ctx
,
int
lineno
,
int
col_offset
,
expr_ty
_Py_List
(
asdl_seq
*
elts
,
expr_context_ty
ctx
,
int
lineno
,
int
PyArena
*
arena
);
col_offset
,
PyArena
*
arena
);
slice_ty
Ellipsis
(
PyArena
*
arena
);
#define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4)
slice_ty
Slice
(
expr_ty
lower
,
expr_ty
upper
,
expr_ty
step
,
PyArena
*
arena
);
expr_ty
_Py_Tuple
(
asdl_seq
*
elts
,
expr_context_ty
ctx
,
int
lineno
,
int
slice_ty
ExtSlice
(
asdl_seq
*
dims
,
PyArena
*
arena
);
col_offset
,
PyArena
*
arena
);
slice_ty
Index
(
expr_ty
value
,
PyArena
*
arena
);
#define Ellipsis(a0) _Py_Ellipsis(a0)
comprehension_ty
comprehension
(
expr_ty
target
,
expr_ty
iter
,
asdl_seq
*
ifs
,
slice_ty
_Py_Ellipsis
(
PyArena
*
arena
);
PyArena
*
arena
);
#define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3)
excepthandler_ty
excepthandler
(
expr_ty
type
,
expr_ty
name
,
asdl_seq
*
body
,
int
slice_ty
_Py_Slice
(
expr_ty
lower
,
expr_ty
upper
,
expr_ty
step
,
PyArena
*
arena
);
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1)
arguments_ty
arguments
(
asdl_seq
*
args
,
identifier
vararg
,
identifier
kwarg
,
slice_ty
_Py_ExtSlice
(
asdl_seq
*
dims
,
PyArena
*
arena
);
asdl_seq
*
defaults
,
PyArena
*
arena
);
#define Index(a0, a1) _Py_Index(a0, a1)
keyword_ty
keyword
(
identifier
arg
,
expr_ty
value
,
PyArena
*
arena
);
slice_ty
_Py_Index
(
expr_ty
value
,
PyArena
*
arena
);
alias_ty
alias
(
identifier
name
,
identifier
asname
,
PyArena
*
arena
);
#define comprehension(a0, a1, a2, a3) _Py_comprehension(a0, a1, a2, a3)
comprehension_ty
_Py_comprehension
(
expr_ty
target
,
expr_ty
iter
,
asdl_seq
*
ifs
,
PyArena
*
arena
);
#define excepthandler(a0, a1, a2, a3, a4, a5) _Py_excepthandler(a0, a1, a2, a3, a4, a5)
excepthandler_ty
_Py_excepthandler
(
expr_ty
type
,
expr_ty
name
,
asdl_seq
*
body
,
int
lineno
,
int
col_offset
,
PyArena
*
arena
);
#define arguments(a0, a1, a2, a3, a4) _Py_arguments(a0, a1, a2, a3, a4)
arguments_ty
_Py_arguments
(
asdl_seq
*
args
,
identifier
vararg
,
identifier
kwarg
,
asdl_seq
*
defaults
,
PyArena
*
arena
);
#define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2)
keyword_ty
_Py_keyword
(
identifier
arg
,
expr_ty
value
,
PyArena
*
arena
);
#define alias(a0, a1, a2) _Py_alias(a0, a1, a2)
alias_ty
_Py_alias
(
identifier
name
,
identifier
asname
,
PyArena
*
arena
);
PyObject
*
PyAST_mod2obj
(
mod_ty
t
);
PyObject
*
PyAST_mod2obj
(
mod_ty
t
);
Misc/NEWS
View file @
9d179ce4
...
@@ -12,6 +12,8 @@ What's New in Python 2.5.1c1?
...
@@ -12,6 +12,8 @@ What's New in Python 2.5.1c1?
Core and builtins
Core and builtins
-----------------
-----------------
- Bug #1637022: Prefix AST symbols with _Py_.
- Prevent seg fault on shutdown which could occur if an object
- Prevent seg fault on shutdown which could occur if an object
raised a warning.
raised a warning.
...
...
Parser/asdl_c.py
View file @
9d179ce4
...
@@ -260,7 +260,12 @@ class PrototypeVisitor(EmitVisitor):
...
@@ -260,7 +260,12 @@ class PrototypeVisitor(EmitVisitor):
argstr
+=
", PyArena *arena"
argstr
+=
", PyArena *arena"
else
:
else
:
argstr
=
"PyArena *arena"
argstr
=
"PyArena *arena"
self
.
emit
(
"%s %s(%s);"
%
(
ctype
,
name
,
argstr
),
0
)
margs
=
"a0"
for
i
in
range
(
1
,
len
(
args
)
+
1
):
margs
+=
", a%d"
%
i
self
.
emit
(
"#define %s(%s) _Py_%s(%s)"
%
(
name
,
margs
,
name
,
margs
),
0
,
reflow
=
0
)
self
.
emit
(
"%s _Py_%s(%s);"
%
(
ctype
,
name
,
argstr
),
0
)
def
visitProduct
(
self
,
prod
,
name
):
def
visitProduct
(
self
,
prod
,
name
):
self
.
emit_function
(
name
,
get_c_type
(
name
),
self
.
emit_function
(
name
,
get_c_type
(
name
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment