On IBM Z we enforce function alignment to 8 bytes.  Hence we get an
error instead of a warning when trying to specify smaller alignments.

gcc/testsuite/ChangeLog:

2018-04-06  Andreas Krebbel  <kreb...@linux.vnet.ibm.com>

        * c-c++-common/Wattributes.c: Disable warning for s390* target and
        check for an error instead.
        * gcc.dg/Wattributes-6.c: Likewise.
---
 gcc/testsuite/c-c++-common/Wattributes.c | 3 ++-
 gcc/testsuite/gcc.dg/Wattributes-6.c     | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/c-c++-common/Wattributes.c 
b/gcc/testsuite/c-c++-common/Wattributes.c
index 902bcb6..40a2985 100644
--- a/gcc/testsuite/c-c++-common/Wattributes.c
+++ b/gcc/testsuite/c-c++-common/Wattributes.c
@@ -401,7 +401,8 @@ inline int ATTR ((warn_unused_result))
 finline_hot_noret_align (int);  /* { dg-warning "ignoring attribute 
.warn_unused_result. because it conflicts with attribute .noreturn." } */
 
 inline int ATTR ((aligned (4)))
-finline_hot_noret_align (int);  /* { dg-warning "ignoring attribute .aligned 
\\(4\\). because it conflicts with attribute .aligned \\(8\\)." } */
+  finline_hot_noret_align (int);  /* { dg-warning "ignoring attribute .aligned 
\\(4\\). because it conflicts with attribute .aligned \\(8\\)." "" { target { ! 
s390*-*-* } } } */
+/* { dg-error "alignment for '.*finline_hot_noret_align.*' must be at least 8" 
"" { target s390*-*-* } .-1 } */
 
 inline int ATTR ((aligned (8)))
 finline_hot_noret_align (int);
diff --git a/gcc/testsuite/gcc.dg/Wattributes-6.c 
b/gcc/testsuite/gcc.dg/Wattributes-6.c
index 902bcb6..a260d01 100644
--- a/gcc/testsuite/gcc.dg/Wattributes-6.c
+++ b/gcc/testsuite/gcc.dg/Wattributes-6.c
@@ -401,7 +401,8 @@ inline int ATTR ((warn_unused_result))
 finline_hot_noret_align (int);  /* { dg-warning "ignoring attribute 
.warn_unused_result. because it conflicts with attribute .noreturn." } */
 
 inline int ATTR ((aligned (4)))
-finline_hot_noret_align (int);  /* { dg-warning "ignoring attribute .aligned 
\\(4\\). because it conflicts with attribute .aligned \\(8\\)." } */
+  finline_hot_noret_align (int);  /* { dg-warning "ignoring attribute .aligned 
\\(4\\). because it conflicts with attribute .aligned \\(8\\)." "" { target { ! 
s390*-*-* } } } */
+/* { dg-error "alignment for 'finline_hot_noret_align' must be at least 8" "" 
{ target s390*-*-* } .-1 } */
 
 inline int ATTR ((aligned (8)))
 finline_hot_noret_align (int);
-- 
2.9.1

Reply via email to