diff mbox

Set Warning flag on Wpsabi (PR c/68657)

Message ID 20160610191048.GG7387@tucnak.redhat.com
State New
Headers show

Commit Message

Jakub Jelinek June 10, 2016, 7:10 p.m. UTC
Hi!

-Wpsabi actually is a warning option, i386 backend (the only user of it)
uses warning_at, the option is enabled by -Wabi which is Warning, and if
one uses -Werror and some -Wpsabi warning is printed, then we mention
there -Werror=psabi, which doesn't work right now.

Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for
trunk?

2016-06-10  Jakub Jelinek  <jakub@redhat.com>

	PR c/68657
	* c.opt (Wpsabi): Add Warning flag.

	* gcc.target/i386/pr68657.c: New test.


	Jakub

Comments

Richard Biener June 10, 2016, 7:28 p.m. UTC | #1
On June 10, 2016 9:10:48 PM GMT+02:00, Jakub Jelinek <jakub@redhat.com> wrote:
>Hi!
>
>-Wpsabi actually is a warning option, i386 backend (the only user of
>it)
>uses warning_at, the option is enabled by -Wabi which is Warning, and
>if
>one uses -Werror and some -Wpsabi warning is printed, then we mention
>there -Werror=psabi, which doesn't work right now.
>
>Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok
>for
>trunk?

OK.

Thanks,
Richard.

>2016-06-10  Jakub Jelinek  <jakub@redhat.com>
>
>	PR c/68657
>	* c.opt (Wpsabi): Add Warning flag.
>
>	* gcc.target/i386/pr68657.c: New test.
>
>--- gcc/c-family/c.opt.jj	2016-05-12 09:46:39.000000000 +0200
>+++ gcc/c-family/c.opt	2016-06-10 09:13:16.377973844 +0200
>@@ -265,7 +265,7 @@ C++ ObjC++ Var(warn_abi_tag) Warning
>Warn if a subobject has an abi_tag attribute that the complete object
>type does not have.
> 
> Wpsabi
>-C ObjC C++ ObjC++ LTO Var(warn_psabi) Init(1) Undocumented
>LangEnabledBy(C ObjC C++ ObjC++,Wabi)
>+C ObjC C++ ObjC++ LTO Var(warn_psabi) Init(1) Warning Undocumented
>LangEnabledBy(C ObjC C++ ObjC++,Wabi)
> 
> Waddress
>C ObjC C++ ObjC++ Var(warn_address) Warning LangEnabledBy(C ObjC C++
>ObjC++,Wall)
>--- gcc/testsuite/gcc.target/i386/pr68657.c.jj	2016-06-10
>09:19:12.267290632 +0200
>+++ gcc/testsuite/gcc.target/i386/pr68657.c	2016-06-10
>09:25:01.414763259 +0200
>@@ -0,0 +1,15 @@
>+/* PR c/68657 */
>+/* { dg-options "-mno-avx512f -Werror=psabi" } */
>+
>+typedef int V __attribute__((vector_size (64)));
>+
>+void foo (V x, V *y) {	/* { dg-error "AVX512F vector argument without
>AVX512F enabled" } */
>+  *y = x;
>+}
>+
>+V bar (V *x) {		/* { dg-error "AVX512F vector return without AVX512F
>enabled" } */
>+  return *x;
>+}
>+
>+/* { dg-message "The ABI for passing parameters with 64-byte alignment
>has changed" "" { target *-*-* } 6 } */
>+/* { dg-message "some warnings being treated as errors" "" { target
>*-*-* } 0 } */
>
>	Jakub
diff mbox

Patch

--- gcc/c-family/c.opt.jj	2016-05-12 09:46:39.000000000 +0200
+++ gcc/c-family/c.opt	2016-06-10 09:13:16.377973844 +0200
@@ -265,7 +265,7 @@  C++ ObjC++ Var(warn_abi_tag) Warning
 Warn if a subobject has an abi_tag attribute that the complete object type does not have.
 
 Wpsabi
-C ObjC C++ ObjC++ LTO Var(warn_psabi) Init(1) Undocumented LangEnabledBy(C ObjC C++ ObjC++,Wabi)
+C ObjC C++ ObjC++ LTO Var(warn_psabi) Init(1) Warning Undocumented LangEnabledBy(C ObjC C++ ObjC++,Wabi)
 
 Waddress
 C ObjC C++ ObjC++ Var(warn_address) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
--- gcc/testsuite/gcc.target/i386/pr68657.c.jj	2016-06-10 09:19:12.267290632 +0200
+++ gcc/testsuite/gcc.target/i386/pr68657.c	2016-06-10 09:25:01.414763259 +0200
@@ -0,0 +1,15 @@ 
+/* PR c/68657 */
+/* { dg-options "-mno-avx512f -Werror=psabi" } */
+
+typedef int V __attribute__((vector_size (64)));
+
+void foo (V x, V *y) {	/* { dg-error "AVX512F vector argument without AVX512F enabled" } */
+  *y = x;
+}
+
+V bar (V *x) {		/* { dg-error "AVX512F vector return without AVX512F enabled" } */
+  return *x;
+}
+
+/* { dg-message "The ABI for passing parameters with 64-byte alignment has changed" "" { target *-*-* } 6 } */
+/* { dg-message "some warnings being treated as errors" "" { target *-*-* } 0 } */