Go to the source code of this file.
This file explains the purpose of all of the HAVE_* features and provides logical checks for features that depend on other features.
A platform defines the features it wants in src/platform/<plat>/pmfeatures.py A tool generates C HAVE_* definitions in pmfeatures.h from pmfeatures.py.
HAVE_PRINT ----------
When defined, bytecodes PRINT_ITEM and PRINT_NEWLINE are supported. Along with these, helper routines in the object type are compiled in that allow printing of the object. REQUIRES stdio.h to have snprintf()
HAVE_GC -------
When defined, the code to perform mark-sweep garbage collection is included in the build and automatic GC is enabled. When undefined the allocator will distribute memory until none is left, after which a memory exception will occur.
HAVE_FLOAT ----------
When defined, the code to support floating point objects is included in the build. Issue #148 Create configurable float datatype
HAVE_DEL --------
When defined, the code to support the keyword del is included in the build. This involves the bytecodes: DELETE_SUBSCR, DELETE_NAME, DELETE_ATTR, DELETE_GLOBAL and DELETE_FAST.
HAVE_IMPORTS ------------
When defined, the code to support the IMPORT_FROM and IMPORT_STAR styles is included in the build.
HAVE_DEFAULTARGS ----------------
When defined, the code to support default arguments to functions is included in the build. Issue #157 Support default args
HAVE_REPLICATION ----------------
When defined, the code to support sequence (list, tuple, string) replcation is included in the build. This feature is required by the builtin function __bi.map(). #160 Add support for string and tuple replication
HAVE_CLASSES ------------
When defined, the code to support classes, instances, methods, etc. is included in the build. Issue #202 Implement classes in the vm
HAVE_ASSERT -----------
When defined, the code to support the assert statement is included in the build.
HAVE_GENERATORS ---------------
When defined, the code to support the yield keyword's use for generator-iterators is included in the build. Issue #207 Add support for the yield keyword
HAVE_BACKTICK -------------
When defined, the code to support the backtick operation (`x`) is included in the build. REQUIRES stdio.h to have snprintf() Issue #244 Add support for the backtick operation (UNARY_CONVERT)
HAVE_STRING_FORMAT ------------------
When defined, the code to perform string formatting using the binary modulo operator is included in the build. REQUIRES stdio.h to have snprintf() Issue #205 Add support for string format operation
HAVE_CLOSURES -------------
When defined, the code to support function closures is included in the build. Issue #256 Add support for closures
HAVE_BYTEARRAY --------------
When defined, the code to support the bytearray type is included in the build. NOTE: If this is defined, the bytearray class in src/lib/__bi.py must also be uncommented. Issue #289 Create bytearray datatype
HAVE_DEBUG_INFO ---------------
When defined, the code to support debug information in exception reports is included in the build. Issue #103 Add debug info to exception reports
Definition in file pmFeatureDependencies.h.