[Tim] > My head hurts, so I'm not sure this is strictly legit C > (drop-in replacement for the current PyGC_Head declaration): > > /* GC information is stored BEFORE the object structure */ > typedef union _gc_head { > struct { > union _gc_head *gc_next; /* not NULL if object is tracked */ > union _gc_head *gc_prev; > int gc_refs; > }; > double dummy; /* force worst-case alignment */ > } PyGC_Head; [Guido] > Alas, gcc gives me warnings about this: > > ../Include/objimpl.h:274: warning: unnamed struct/union that > defines no instances > > and references to the fields fail with errors: > > ../Objects/cellobject.c: In function `PyCell_New': > ../Objects/cellobject.c:14: union has no member named `gc_next' > [and many more] Then: If that's not legit, we could make it legit by naming the struct member and interpolating the name into all existing references. This is straightforward, if a bit tedious ... OK, I did that. Requires changes to the track and untrack macros, plus a ton of edits inside gcmodule.c. But that's it, and they're all straightforward changes (i.e., low chance of breakage). Should I check it in?
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4