Hello, gcc seems to handle enum in different ways depending on the version used. For example, gcc 3.3.6 does not complains if a declaration and a definition mismatch on the enum type supported but gcc 3.4.5 detect this as an error. My interogation on the topic are the following : How enums are handle by the type checker subsystem ? Are they real type or just an integral of the smallest acceptable size ? Does gcc handle this the same way as g++ ? What is the behaviour of the various stable branches regarding this issue ? Best regards Olivier