Commit bf5fbf46 by Martin Sebor Committed by Martin Sebor

PR c/78768 - -Walloca-larger-than and -Wformat-length warnings disabled by -flto

gcc/ChangeLog:
	* c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
	Also enable for LTO.

gcc/testsuite/ChangeLog:
	PR c/78768
	* gcc.dg/pr78768.c: New test.

From-SVN: r244326
parent 19ff0049
2017-01-11 Martin Sebor <msebor@redhat.com>
PR c/78768
* c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
Also enable for LTO.
2017-01-10 Jason Merrill <jason@redhat.com> 2017-01-10 Jason Merrill <jason@redhat.com>
Implement P0195R2, C++17 variadic using. Implement P0195R2, C++17 variadic using.
......
...@@ -313,7 +313,7 @@ C ObjC C++ ObjC++ Var(warn_alloc_zero) Warning ...@@ -313,7 +313,7 @@ C ObjC C++ ObjC++ Var(warn_alloc_zero) Warning
-Walloc-zero Warn for calls to allocation functions that specify zero bytes. -Walloc-zero Warn for calls to allocation functions that specify zero bytes.
Walloca-larger-than= Walloca-larger-than=
C ObjC C++ ObjC++ Var(warn_alloca_limit) Warning Joined RejectNegative UInteger C ObjC C++ LTO ObjC++ Var(warn_alloca_limit) Warning Joined RejectNegative UInteger
-Walloca-larger-than=<number> Warn on unbounded uses of -Walloca-larger-than=<number> Warn on unbounded uses of
alloca, and on bounded uses of alloca whose bound can be larger than alloca, and on bounded uses of alloca whose bound can be larger than
<number> bytes. <number> bytes.
...@@ -521,7 +521,7 @@ C ObjC C++ ObjC++ Var(warn_format_extra_args) Warning LangEnabledBy(C ObjC C++ O ...@@ -521,7 +521,7 @@ C ObjC C++ ObjC++ Var(warn_format_extra_args) Warning LangEnabledBy(C ObjC C++ O
Warn if passing too many arguments to a function for its format string. Warn if passing too many arguments to a function for its format string.
Wformat-length Wformat-length
C ObjC C++ ObjC++ Warning Alias(Wformat-length=, 1, 0) C ObjC C++ LTO ObjC++ Warning Alias(Wformat-length=, 1, 0)
Warn about function calls with format strings that write past the end Warn about function calls with format strings that write past the end
of the destination region. Same as -Wformat-length=1. of the destination region. Same as -Wformat-length=1.
...@@ -538,7 +538,7 @@ C ObjC C++ ObjC++ Var(warn_format_signedness) Warning ...@@ -538,7 +538,7 @@ C ObjC C++ ObjC++ Var(warn_format_signedness) Warning
Warn about sign differences with format functions. Warn about sign differences with format functions.
Wformat-truncation Wformat-truncation
C ObjC C++ ObjC++ Warning Alias(Wformat-truncation=, 1, 0) C ObjC C++ LTO ObjC++ Warning Alias(Wformat-truncation=, 1, 0)
Warn about calls to snprintf and similar functions that truncate output. Warn about calls to snprintf and similar functions that truncate output.
Same as -Wformat-truncation=1. Same as -Wformat-truncation=1.
......
2017-01-11 Martin Sebor <msebor@redhat.com>
PR c/78768
* gcc.dg/pr78768.c: New test.
2017-01-11 David Malcolm <dmalcolm@redhat.com> 2017-01-11 David Malcolm <dmalcolm@redhat.com>
PR driver/78877 PR driver/78877
......
/* PR c/78768 - -Walloca-larger-than and -Wformat-length warnings disabled
by -flto
{ dg-do run }
{ dg-options "-O2 -Walloca-larger-than=10 -Wformat -Wformat-length -flto" } */
int main (void)
{
char *d = (char *)__builtin_alloca (12); /* { dg-warning "argument to .alloca. is too large" } */
__builtin_sprintf (d, "%32s", "x"); /* { dg-warning "directive writing 32 bytes into a region of size 12" "-Wformat-length" { xfail *-*-* } } */
return 0;
}
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