public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "manu at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug c/39438] Can't compile a wrapper around strftime with -Werror=format-nonliteral Date: Mon, 12 May 2014 15:52:00 -0000 [thread overview] Message-ID: <bug-39438-4-YNlPuUx950@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-39438-4@http.gcc.gnu.org/bugzilla/> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39438 --- Comment #8 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to D. Hugh Redelmeier from comment #6) > > If you can produce another similar example that works with printf, that would also help. > > I don't think that printf is similar enough. A strftime format doesn't > interact with varargs in a complex and problematic way. A string, on its > own, is or is not a valid strftime format; a string is only a valid printf > format when considered with the argument list. > > If an arg is marked as a const char * (i.e. unchanging) and has the strftime > format attribute, it should be accepted as if it were a literal strftime > argument. After all, the necessary checking would have been done at this > routine's points of call. Assuming that the wrapper is marked with the correct attribute, GCC would need to know that this const char* comes from the correct wrapper's argument. I am not sure this is trivial to know at the point of warning without additional work/info in the front-end. Some comments above have suggested that this work/info is done for printf, so the first thing someone looking at this should do is to understand how printf detects this case, and why the same is not done for strftime, and then try to share as much code between the two cases as possible. Perhaps it is a bug, perhaps it was never implemented for strftime. In any case, one would need to debug GCC using two similar and minimal testcases to understand what is going on. See http://gcc.gnu.org/wiki/DebuggingGCC if you want to see how this works. As an exercise, try to find the point of warning while debugging using your testcase. Bugs/features are more likely to be fixed if: 1. There is a minimal testcase that reproduces the problem 2. Someone has debugged GCC and identified the problem 3. Someone has done all the legal prerequisites and posted a patch that fixes the problem 4. Someone has tested and submitted the patch for review 5. Someone has taken care of the review comments and committed the patch We are not even in 1 and the real work is 2 and 3. >From gcc-bugs-return-451351-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon May 12 15:58:28 2014 Return-Path: <gcc-bugs-return-451351-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org> Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 14705 invoked by alias); 12 May 2014 15:58:27 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: <gcc-bugs.gcc.gnu.org> List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/> List-Post: <mailto:gcc-bugs@gcc.gnu.org> List-Help: <mailto:gcc-bugs-help@gcc.gnu.org> Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 14664 invoked by uid 55); 12 May 2014 15:58:24 -0000 From: "denisc at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/60991] [avr] Stack corruption when using 24-bit integers __int24 or __memx pointers in large stack frame Date: Mon, 12 May 2014 15:58:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 4.8.1 X-Bugzilla-Keywords: X-Bugzilla-Severity: critical X-Bugzilla-Who: denisc at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: <bug-60991-4-KcSgQqySyT@http.gcc.gnu.org/bugzilla/> In-Reply-To: <bug-60991-4@http.gcc.gnu.org/bugzilla/> References: <bug-60991-4@http.gcc.gnu.org/bugzilla/> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-05/txt/msg01043.txt.bz2 Content-length: 842 http://gcc.gnu.org/bugzilla/show_bug.cgi?id`991 --- Comment #5 from denisc at gcc dot gnu.org --- Author: denisc Date: Mon May 12 15:57:52 2014 New Revision: 210327 URL: http://gcc.gnu.org/viewcvs?rev!0327&root=gcc&view=rev Log: Backport from mainline 2014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> PR target/60991 * config/avr/avr.c (avr_out_store_psi): Use correct constant to restore Y. Backport from mainline 2014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> PR target/60991 * gcc.target/avr/pr60991.c: New testcase. Added: branches/gcc-4_9-branch/gcc/testsuite/gcc.target/avr/pr60991.c Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/config/avr/avr.c branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
next prev parent reply other threads:[~2014-05-12 15:52 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <bug-39438-4@http.gcc.gnu.org/bugzilla/> 2012-01-10 20:39 ` tss at iki dot fi 2014-05-10 16:47 ` hugh at mimosa dot com 2014-05-12 12:26 ` manu at gcc dot gnu.org 2014-05-12 14:58 ` hugh at mimosa dot com 2014-05-12 15:38 ` manu at gcc dot gnu.org 2014-05-12 15:52 ` manu at gcc dot gnu.org [this message] 2014-05-12 19:33 ` hugh at mimosa dot com 2015-02-27 16:43 ` manu at gcc dot gnu.org 2024-06-03 1:48 ` peter0x44 at disroot dot org 2009-03-11 22:57 [Bug c/39438] New: " 4tmuelle at informatik dot uni-hamburg dot de 2009-03-12 9:40 ` [Bug c/39438] " rguenth at gcc dot gnu dot org 2009-03-12 9:58 ` 4tmuelle at informatik dot uni-hamburg dot de
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-39438-4-YNlPuUx950@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).