Browse Source

mark dtrace stubs as static inline; remove stubs

C99 inline semantics don't work everywhere. (https://bugs.python.org/issue28092)
We don't want these to have external visibility anyway.
pull/9921/head
Benjamin Peterson 9 years ago
parent
commit
4510e6de9d
  1. 38
      Include/pydtrace.h
  2. 1
      Makefile.pre.in
  3. 1
      PCbuild/pythoncore.vcxproj
  4. 3
      PCbuild/pythoncore.vcxproj.filters
  5. 24
      Python/dtrace_stubs.c

38
Include/pydtrace.h

@ -25,25 +25,25 @@ extern "C" {
/* Without DTrace, compile to nothing. */
inline void PyDTrace_LINE(const char *arg0, const char *arg1, int arg2) {}
inline void PyDTrace_FUNCTION_ENTRY(const char *arg0, const char *arg1, int arg2) {}
inline void PyDTrace_FUNCTION_RETURN(const char *arg0, const char *arg1, int arg2) {}
inline void PyDTrace_GC_START(int arg0) {}
inline void PyDTrace_GC_DONE(int arg0) {}
inline void PyDTrace_INSTANCE_NEW_START(int arg0) {}
inline void PyDTrace_INSTANCE_NEW_DONE(int arg0) {}
inline void PyDTrace_INSTANCE_DELETE_START(int arg0) {}
inline void PyDTrace_INSTANCE_DELETE_DONE(int arg0) {}
inline int PyDTrace_LINE_ENABLED(void) { return 0; }
inline int PyDTrace_FUNCTION_ENTRY_ENABLED(void) { return 0; }
inline int PyDTrace_FUNCTION_RETURN_ENABLED(void) { return 0; }
inline int PyDTrace_GC_START_ENABLED(void) { return 0; }
inline int PyDTrace_GC_DONE_ENABLED(void) { return 0; }
inline int PyDTrace_INSTANCE_NEW_START_ENABLED(void) { return 0; }
inline int PyDTrace_INSTANCE_NEW_DONE_ENABLED(void) { return 0; }
inline int PyDTrace_INSTANCE_DELETE_START_ENABLED(void) { return 0; }
inline int PyDTrace_INSTANCE_DELETE_DONE_ENABLED(void) { return 0; }
static inline void PyDTrace_LINE(const char *arg0, const char *arg1, int arg2) {}
static inline void PyDTrace_FUNCTION_ENTRY(const char *arg0, const char *arg1, int arg2) {}
static inline void PyDTrace_FUNCTION_RETURN(const char *arg0, const char *arg1, int arg2) {}
static inline void PyDTrace_GC_START(int arg0) {}
static inline void PyDTrace_GC_DONE(int arg0) {}
static inline void PyDTrace_INSTANCE_NEW_START(int arg0) {}
static inline void PyDTrace_INSTANCE_NEW_DONE(int arg0) {}
static inline void PyDTrace_INSTANCE_DELETE_START(int arg0) {}
static inline void PyDTrace_INSTANCE_DELETE_DONE(int arg0) {}
static inline int PyDTrace_LINE_ENABLED(void) { return 0; }
static inline int PyDTrace_FUNCTION_ENTRY_ENABLED(void) { return 0; }
static inline int PyDTrace_FUNCTION_RETURN_ENABLED(void) { return 0; }
static inline int PyDTrace_GC_START_ENABLED(void) { return 0; }
static inline int PyDTrace_GC_DONE_ENABLED(void) { return 0; }
static inline int PyDTrace_INSTANCE_NEW_START_ENABLED(void) { return 0; }
static inline int PyDTrace_INSTANCE_NEW_DONE_ENABLED(void) { return 0; }
static inline int PyDTrace_INSTANCE_DELETE_START_ENABLED(void) { return 0; }
static inline int PyDTrace_INSTANCE_DELETE_DONE_ENABLED(void) { return 0; }
#endif /* !WITH_DTRACE */

1
Makefile.pre.in

@ -355,7 +355,6 @@ PYTHON_OBJS= \
Python/compile.o \
Python/codecs.o \
Python/dynamic_annotations.o \
Python/dtrace_stubs.o \
Python/errors.o \
Python/frozenmain.o \
Python/future.o \

1
PCbuild/pythoncore.vcxproj

@ -356,7 +356,6 @@
<ClCompile Include="..\Python\ceval.c" />
<ClCompile Include="..\Python\codecs.c" />
<ClCompile Include="..\Python\compile.c" />
<ClCompile Include="..\Python\dtrace_stubs.c" />
<ClCompile Include="..\Python\dynamic_annotations.c" />
<ClCompile Include="..\Python\dynload_win.c" />
<ClCompile Include="..\Python\errors.c" />

3
PCbuild/pythoncore.vcxproj.filters

@ -851,9 +851,6 @@
<ClCompile Include="..\Python\compile.c">
<Filter>Python</Filter>
</ClCompile>
<ClCompile Include="..\Python\dtrace_stubs.c">
<Filter>Python</Filter>
</ClCompile>
<ClCompile Include="..\Python\dynamic_annotations.c">
<Filter>Python</Filter>
</ClCompile>

24
Python/dtrace_stubs.c

@ -1,24 +0,0 @@
#include <Python.h>
#include "pydtrace.h"
#ifndef WITH_DTRACE
extern inline void PyDTrace_LINE(const char *arg0, const char *arg1, int arg2);
extern inline void PyDTrace_FUNCTION_ENTRY(const char *arg0, const char *arg1, int arg2);
extern inline void PyDTrace_FUNCTION_RETURN(const char *arg0, const char *arg1, int arg2);
extern inline void PyDTrace_GC_START(int arg0);
extern inline void PyDTrace_GC_DONE(int arg0);
extern inline void PyDTrace_INSTANCE_NEW_START(int arg0);
extern inline void PyDTrace_INSTANCE_NEW_DONE(int arg0);
extern inline void PyDTrace_INSTANCE_DELETE_START(int arg0);
extern inline void PyDTrace_INSTANCE_DELETE_DONE(int arg0);
extern inline int PyDTrace_LINE_ENABLED(void);
extern inline int PyDTrace_FUNCTION_ENTRY_ENABLED(void);
extern inline int PyDTrace_FUNCTION_RETURN_ENABLED(void);
extern inline int PyDTrace_GC_START_ENABLED(void);
extern inline int PyDTrace_GC_DONE_ENABLED(void);
extern inline int PyDTrace_INSTANCE_NEW_START_ENABLED(void);
extern inline int PyDTrace_INSTANCE_NEW_DONE_ENABLED(void);
extern inline int PyDTrace_INSTANCE_DELETE_START_ENABLED(void);
extern inline int PyDTrace_INSTANCE_DELETE_DONE_ENABLED(void);
#endif
Loading…
Cancel
Save