On Fri, 18 Apr 2008, FX wrote: > I've tried to take into account the remarks from Joseph and Ian, here's an > updated patch. I welcome comments, ideas on how to best add testcases in the > testsuite (for example, comparing Fortran information and C headers). After > that, I will submit the complete patch + testcases + doc + ChangeLog entries > for formal review.
Defining these types with preprocessor conditionals such as +#elif LONG_TYPE_SIZE >= 8 is simply wrong. LONG_TYPE_SIZE is not a preprocessor constant. You need to use conditional expressions with ? : instead to produce an expression that evaluates when the compiler is run to different strings based on compiler options. (If for a particular target LONG_TYPE_SIZE etc. are in fact constants, of course this conditional expression will get constant-folded.) Also, I think the conclusion was that the compiler should not claim any knowledge of these types unless specifically configured for a particular target - that is, defaults.h should not contain any default definitions. -- Joseph S. Myers [EMAIL PROTECTED]