Red Hat Bugzilla – Bug 82087
SRPMS: portability: 'inline' keyword is used as identifier
Last modified: 2008-05-01 11:38:04 EDT
Description of problem:
in sources in file evolution-1.0.8/mail/mail-callbacks.h:121 is line:
void forward_messages (CamelFolder *folder, GPtrArray *uids, gboolean inline);
If you supposed 'inline' here as identifier it is restricted by C compiler as 'inline' is
the keyword (see clause 6.4.1 of C standards, paragraph 1). According paragraph
2, clause 6.4.1 of C standards you can't use identifiers that are recognized by C
compiler as keywords.
GNU C compiler doesn't emit the error because bug in compiler or maybe
undocumented feature ( I mean inline parameters, as ridiculous it wouldn't sound.
However I haven't found documentation on it). Seems it treats 'gboolean inline'
as '<type> <modifier>', i.e. as declaration without parameter name. You can
ensure in it adding any identifier name i.e. something like 'gboolean inline
somename'; it won't expose error too with gcc.
I've never heard about inline parameters, so I suppose you just used invalid name
for parameter. To be correct (and therefore increase Linux portability) you should
another identifier in this declaration.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. I'm afraid the error cannot be shown with GNU C compiler.
Compilation errors with custom compiler.
Successfully built package.
Created attachment 89421 [details]
Patch which fixes described BUG
We don't support recompiling with compilers other than the one we ship with.
You might report the bug upstream at http://bugzilla.ximian.com and they may
care more about non-gcc compilers.