Commit 6875457f by Jason Merrill Committed by Jason Merrill

re PR c++/64629 (-Wformat-security warns with const char *const vars)

	PR c++/64629
	* c-format.c (check_format_arg): Call decl_constant_value.

From-SVN: r219964
parent 4195393b
2015-01-21 Jason Merrill <jason@redhat.com>
PR c++/64629
* c-format.c (check_format_arg): Call decl_constant_value.
2015-01-19 Martin Liska <mliska@suse.cz>
* c-common.c (handle_noicf_attribute): New function.
......
......@@ -1443,6 +1443,13 @@ check_format_arg (void *ctx, tree format_tree,
tree array_init;
alloc_pool fwt_pool;
if (TREE_CODE (format_tree) == VAR_DECL)
{
/* Pull out a constant value if the front end didn't. */
format_tree = decl_constant_value (format_tree);
STRIP_NOPS (format_tree);
}
if (integer_zerop (format_tree))
{
/* Skip to first argument to check, so we can see if this format
......
// PR c++/64629
// { dg-options "-Wformat -Wformat-security" }
extern void bar (int, const char *, ...) __attribute__((format (printf, 2, 3)));
void
foo (void)
{
const char *const msg = "abc";
bar (1, msg);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment