On Feb 22, 2005, at 6:36 PM, Joseph S. Myers wrote:

On Tue, 22 Feb 2005, Devang Patel wrote:
Would it be OK, if this warnings are disabled for system headers ?
What is the built-in function involved and what (and why) is the different
system header type? Is this a case where a system reuses a nonstandard
name GCC has built in for an entirely different purpose?

We already are meant to have some laxity in matching the types of built-in
functions to those of system header declarations (to allow both for
pre-ISO-C systems and for not knowing within GCC what type FILE is).
Disabling this warning for system headers may well make sense - but it
would lead to users getting / not getting the built-in according to
whether the particular translation unit happened to include that header,
so I'd like to understand the actual problem.

One of the system framework provides its own definition of scalbl (). Since almost all projects use this framework, every one gets to see this warning.

I think the fact that a warning is disabled in a system header is testable
in the gcc.dg testsuite: have a .c file include a .h file, the .h file
containing the offending declaration after #pragma GCC system_header.
This test should fail before your patch and pass afterwards.

Yes.

What you
can't so readily test in such testcases is for diagnostics that are
*meant* to appear in the system header, as DejaGnu seems only to look at
dg-error/dg-warning annotations in the main file and interprets all line
numbers in diagnostics as referring to the main file without regard to the
file named in the diagnostic.
--
Joseph S. Myers http://www.srcf.ucam.org/~jsm28/gcc/
[EMAIL PROTECTED] (personal mail)
[EMAIL PROTECTED] (CodeSourcery mail)
[EMAIL PROTECTED] (Bugzilla assignments and CCs)

- Devang



Reply via email to