The Xcode project currently uses GCC_SHORT_ENUMS for the Frontier target.
This caused an issue when trying to integrate MySQL into the project < http://tech.groups.yahoo.com/group/frontierkernel/message/3309 >.
If GCC_SHORT_ENUMS is not enabled, then the kernel can't load databases. After some research I found one problem area in langexternal.c in the langexternalunpack function.
With GCC_SHORT_ENUMS enabled the sizeof rec is 4, with GCC_SHORT_ENUMS not enabled it's 6.
Also of interest is typedef struct tydiskexternalhandle in file langexternal.h., which probably explains why the Windows version doesn't seem to have a problem with not using short enums. I'm not sure about the short enum not being used on Windows but that is how it appears to me at this time.
I also found this < http://developer.apple.com/documentation/DeveloperTools/Conceptual/MovingProjectsToXcode/mig_after_importing/chapter_5_section_5.html#//apple_ref/doc/uid/20001712-TPXREF169 > which probably explains why the Xcode project is using the short enum feature. See the "Different size and alignment of enums" paragraph.
Logged In: YES
user_id=1137587
Originator: NO
If you take on this task, please be extremely cautious about changing the length or alignment of any struct defined in the kernel source code, especially those that might get saved to a root file in binary form. There is a high risk of introducing breakage with this sort of change. I have been there before...