diff -r d51d6f1f9db8 Include/pymacro.h --- a/Include/pymacro.h Mon Jan 20 08:13:31 2014 -0800 +++ b/Include/pymacro.h Tue Jan 21 00:04:31 2014 -0600 @@ -47,6 +47,7 @@ /* Define macros for inline documentation. */ +#define PyDoc_SIZEDVAR(name, size) static char name[size] #define PyDoc_VAR(name) static char name[] #define PyDoc_STRVAR(name,str) PyDoc_VAR(name) = PyDoc_STR(str) #ifdef WITH_DOC_STRINGS diff -r d51d6f1f9db8 Tools/clinic/clinic.py --- a/Tools/clinic/clinic.py Mon Jan 20 08:13:31 2014 -0800 +++ b/Tools/clinic/clinic.py Tue Jan 21 00:04:31 2014 -0600 @@ -464,7 +464,7 @@ docstring_prototype -PyDoc_VAR({c_basename}__doc__); +PyDoc_SIZEDVAR({c_basename}__doc__, {docstring_size}); __________________________________________________ docstring_definition @@ -959,6 +959,7 @@ template_dict['methoddef_name'] = methoddef_name template_dict['docstring'] = self.docstring_for_c_string(f) + template_dict['docstring_size'] = len(f.docstring) positional = has_option_groups = False