mirror of
https://github.com/python/cpython.git
synced 2025-10-24 10:23:58 +00:00
Fix warnings when using -Wimplicit-fallthrough compiler flag. Annotate explicitly "fall through" switch cases with a new _Py_FALLTHROUGH macro which uses __attribute__((fallthrough)) if available. Replace "fall through" comments with _Py_FALLTHROUGH. Add _Py__has_attribute() macro. No longer define __has_attribute() macro if it's not defined. Move also _Py__has_builtin() at the top of pyport.h. Co-Authored-By: Nikita Sobolev <mail@sobolevn.me> |
||
|---|---|---|
| .. | ||
| clinic | ||
| asciilib.h | ||
| codecs.h | ||
| count.h | ||
| ctype.h | ||
| eq.h | ||
| fastsearch.h | ||
| find.h | ||
| find_max_char.h | ||
| join.h | ||
| localeutil.h | ||
| partition.h | ||
| README.txt | ||
| replace.h | ||
| repr.h | ||
| split.h | ||
| stringdefs.h | ||
| stringlib_find_two_way_notes.txt | ||
| transmogrify.h | ||
| ucs1lib.h | ||
| ucs2lib.h | ||
| ucs4lib.h | ||
| undef.h | ||
| unicode_format.h | ||
bits shared by the bytesobject and unicodeobject implementations (and
possibly other modules, in a not too distant future).
the stuff in here is included into relevant places; see the individual
source files for details.
--------------------------------------------------------------------
the following defines used by the different modules:
STRINGLIB_CHAR
the type used to hold a character (char, Py_UCS1, Py_UCS2 or Py_UCS4)
STRINGLIB_GET_EMPTY()
returns a PyObject representing the empty string, only to be used if
STRINGLIB_MUTABLE is 0. It must not be NULL.
Py_ssize_t STRINGLIB_LEN(PyObject*)
returns the length of the given string object (which must be of the
right type)
PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t)
creates a new string object
STRINGLIB_CHAR* STRINGLIB_STR(PyObject*)
returns the pointer to the character data for the given string
object (which must be of the right type)
int STRINGLIB_CHECK_EXACT(PyObject *)
returns true if the object is an instance of our type, not a subclass
STRINGLIB_MUTABLE
must be 0 or 1 to tell the cpp macros in stringlib code if the object
being operated on is mutable or not