# HG changeset patch # User Robert Bradshaw # Date 1185672636 25200 # Node ID f8dd76e4ae84038a6221770e77029de4feef2658 # Parent 775619f5722c0bd35af295daa4f1882b5e404950 remove gcc dependance for inline, branch prediction diff -r 775619f5722c -r f8dd76e4ae84 Compiler/Nodes.py --- a/Compiler/Nodes.py Sat Jul 28 13:48:10 2007 -0700 +++ b/Compiler/Nodes.py Sat Jul 28 18:30:36 2007 -0700 @@ -2590,12 +2590,20 @@ class FromImportStatNode(StatNode): utility_function_predeclarations = \ """ +#ifdef __GNUC__ +#define INLINE __inline__ +#elif _WIN32 +#define INILNE __inline +#else +#define INLINE +#endif + typedef struct {const char *s; const void **p;} __Pyx_CApiTabEntry; /*proto*/ typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/ typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/ #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) -static inline int __Pyx_PyObject_IsTrue(PyObject* x) { +static INILNE int __Pyx_PyObject_IsTrue(PyObject* x) { if (x == Py_True) return 1; else if (x == Py_False) return 0; else return PyObject_IsTrue(x); @@ -2606,8 +2614,13 @@ if Options.gcc_branch_hints: if Options.gcc_branch_hints: branch_prediction_macros = \ """ +#ifdef __GNUC__ #define likely(x) __builtin_expect(!!(x), 1) #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* __GNUC__ */ +#define likely(x) (x) +#define unlikely(x) (x) +#endif /* __GNUC__ */ """ else: branch_prediction_macros = \ diff -r 775619f5722c -r f8dd76e4ae84 Compiler/Parsing.py --- a/Compiler/Parsing.py Sat Jul 28 13:48:10 2007 -0700 +++ b/Compiler/Parsing.py Sat Jul 28 18:30:36 2007 -0700 @@ -1662,7 +1662,7 @@ def p_visibility(s, prev_visibility): def p_c_modifiers(s): if s.systring in ('inline', ): - modifier = s.systring + modifier = s.systring.upper() # uppercase is macro defined for various compilers s.next() return modifier + ' ' + p_c_modifiers(s) return ""