gh-105481: opcode.h is no longer generated during the build#108080
gh-105481: opcode.h is no longer generated during the build#108080iritkatriel merged 3 commits intopython:mainfrom
Conversation
gvanrossum
left a comment
There was a problem hiding this comment.
LG, though I'm unsure of the benefit here. We now have two places where the list of NB_ constants occurs, once in opcode.h, once in _opcode.c, and they must be kept in sync manually.
| #define NB_INPLACE_TRUE_DIVIDE 24 | ||
| #define NB_INPLACE_XOR 25 | ||
|
|
||
| #define NB_OPARG_LAST 25 |
There was a problem hiding this comment.
I dislike marking the "last" of anything, you end up doing + 1 in various places. But I realize that it's a convention around opcode definitions and the like.
|
There are a number of lists/enumerations that need to exist in parallel python and C. I think to avoid the duplication in the code we should design something generic that spawns the #definitions in C and a function that builds the python dict to map the name to the number. Something like argument clinic, but for enumerations. I don't like having a special script for each case. |
Python's operators don't change very often. This doesn't need to be auto-generated.