Adding knowledge of the int_fastN_t types to the compiler, take 2
Joseph S. Myers
joseph@codesourcery.com
Fri Apr 18 18:51:00 GMT 2008
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
joseph@codesourcery.com
More information about the Gcc
mailing list