This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Patch to check asm_fprintf format specifiers [take 2]


 > From: "Joseph S. Myers" <jsm28@cam.ac.uk>
 > 
 > On Sat, 31 May 2003, Kaveh R. Ghazi wrote:
 > 
 > > Since the hook doesn't require a new language construct the situation
 > > described in the previous thread, where a new GCC removes this feature
 > > in favor of real extensible checking and then proceeds to try and
 > > compile older GCC releases with this checking style and fails to parse
 > > it, should not arise.  So I'm going to suggest that we leave this in
 > 
 > Is your point that unknown format types are just warnings, not errors,
 > that this is deliberate, and releases have -Werror disabled?

Yes, exactly.


 > > Regarding a testcase, I'm currently in the process of
 > > designing/creating one.  However I recently posted a patch for
 > > updating the internals of asm_fprintf to fix broken and/or add missing
 > > specifiers.  Until that settles down and/or is accepted/rejected, I'd
 > > prefer to submit the testcase separately.
 > 
 > Regarding that previous patch, where specifiers are missing/broken are
 > they ones that are actually used in parts of GCC that expect them to work?  
 > (Since there is no need for asm_fprintf to implement C90 specifiers just
 > for the sake of it, unless some code in GCC using asm_fprintf wants to use
 > them.)  Likewise, are the specifiers currently implemented all used?  In
 > particular, does any use of asm_fprintf actually use floating point
 > specifiers or %p, which this patch includes as supported?

I looked and I'm not seeing any places in GCC that use %p, or the FP
specifiers, but my grep could have missed it.  The float ones look
like they're implemented correctly, but %p is definitely buggy and %c
and %ll are missing.

I don't have a strong opinion whether we fix them, or take them out /
leave them unimplemented.  Of mild concern is if we take them out and
then have to add them back because a later GCC version decides they
are needed.  That'll cause version skew because the host compiler's
notion of what's correct will differ from that of the compiler being
built.  So I lean towards having more implemented rather than less.

IMHO this is orthogonal to the checking patch itself.  We can
reconcile the formal checks vs what's actually accepted by asm_fprintf
incrementally once the overall scheme is approved and installed.
That's why I deferred the testcase.  But I do intend to reconcile them
if that's your worry.

Do you think the patch is ok?

		Thanks,
		--Kaveh
--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]