summaryrefslogtreecommitdiff
path: root/codegen
diff options
context:
space:
mode:
authorGustavo J. A. M. Carneiro <gjc@src.gnome.org>2006-06-25 16:18:13 +0000
committerGustavo J. A. M. Carneiro <gjc@src.gnome.org>2006-06-25 16:18:13 +0000
commit531d059ea0065d934c60ffc92c787c9d82d020b2 (patch)
treeac5e0acb70f654b62d282c5457c794a33b57db18 /codegen
parentd6fb79e6834eb8518c0f6885711b604fe927e324 (diff)
downloadpygtk-531d059ea0065d934c60ffc92c787c9d82d020b2.tar.gz
Use IntArg to handle enums and flags with no typecode. This is to avoid
* codegen/argtypes.py (ArgMatcher.register_enum, (ArgMatcher.register_flag): Use IntArg to handle enums and flags with no typecode. This is to avoid the compiler warning "dereferencing type-punned pointer will break strict-aliasing rules" when converting enums or flags with no typecode.
Diffstat (limited to 'codegen')
-rw-r--r--codegen/argtypes.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/codegen/argtypes.py b/codegen/argtypes.py
index 04d10201..1e32c2ac 100644
--- a/codegen/argtypes.py
+++ b/codegen/argtypes.py
@@ -828,12 +828,14 @@ class ArgMatcher:
def register_enum(self, ptype, typecode):
if typecode is None:
- typecode = "G_TYPE_NONE"
- self.register(ptype, EnumArg(ptype, typecode))
+ self.register(ptype, IntArg())
+ else:
+ self.register(ptype, EnumArg(ptype, typecode))
def register_flag(self, ptype, typecode):
if typecode is None:
- typecode = "G_TYPE_NONE"
- self.register(ptype, FlagsArg(ptype, typecode))
+ self.register(ptype, IntArg())
+ else:
+ self.register(ptype, FlagsArg(ptype, typecode))
def register_object(self, ptype, parent, typecode):
oa = ObjectArg(ptype, parent, typecode)
self.register(ptype, oa) # in case I forget the * in the .defs