600864c176ee3535d812666991dc42e70cc9fd8e
[cython.git] / Cython / Compiler / Options.py
1 #
2 #  Pyrex - Compilation-wide options
3 #
4
5 cache_builtins = 1  #  Perform lookups on builtin names only once
6
7 embed_pos_in_docstring = 0
8 gcc_branch_hints = 1
9
10 pre_import = None
11 docstrings = True
12
13 # This is a SAGE-specific option that will 
14 # cause Cython to incref local variables before
15 # performing a binary operation on them, for 
16 # safe detection of inplace operators. 
17 incref_local_binop = 0
18
19 # Decref global variables in this module on exit for garbage collection. 
20 # 0: None, 1+: interned objects, 2+: cdef globals, 3+: types objects
21 # Mostly for reducing noise for Valgrind, only executes at process exit
22 # (when all memory will be reclaimed anyways). 
23 generate_cleanup_code = 0
24
25 annotate = 0
26
27 # This will convert statements of the form "for i in range(...)" 
28 # to "for i from ..." when i is a cdef'd integer type, and the direction
29 # (i.e. sign of step) can be determined. 
30 # WARNING: This may change the symantics if the range causes assignment to 
31 # i to overflow. Specifically, if this option is set, an error will be
32 # raised before the loop is entered, wheras without this option the loop
33 # will execute util a overflowing value is encountered. 
34 convert_range = 1
35
36 # Enable this to allow one to write your_module.foo = ... to overwrite the 
37 # definition if the cpdef function foo, at the cost of an extra dictionary 
38 # lookup on every call. 
39 # If this is 0 it simply creates a wrapper. 
40 lookup_module_cpdef = 0
41
42 # This will set local variables to None rather than NULL which may cause 
43 # surpress what would be an UnboundLocalError in pure Python but eliminates 
44 # checking for NULL on every use, and can decref rather than xdecref at the end. 
45 # WARNING: This is a work in progress, may currently segfault.
46 init_local_none = 1
47
48 # Optimize no argument and one argument methods by using the METH_O and METH_NOARGS
49 # calling conventions. These are faster calling conventions, but disallow the use of 
50 # keywords (which, admittedly, are of little use in these cases). 
51 optimize_simple_methods = 1
52
53 # Append the c file and line number to the traceback for exceptions. 
54 c_line_in_traceback = 1