From: Andreas Krebbel Date: Tue, 24 Feb 2015 08:26:32 +0000 (+0000) Subject: Add testcases missing from hotpatch v2 X-Git-Tag: releases/gcc-4.8.5~253 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79adb28de29e1efb6d8cbb407b5259888ace58f5;p=thirdparty%2Fgcc.git Add testcases missing from hotpatch v2 2015-02-24 Andreas Krebbel Add testcases missing from hotpatch v2 * gcc/testsuite/gcc.target/s390/hotpatch-13.c * gcc/testsuite/gcc.target/s390/hotpatch-15.c * gcc/testsuite/gcc.target/s390/hotpatch-17.c * gcc/testsuite/gcc.target/s390/hotpatch-19.c * gcc/testsuite/gcc.target/s390/hotpatch-compile-11.c * gcc/testsuite/gcc.target/s390/hotpatch-compile-13.c * gcc/testsuite/gcc.target/s390/hotpatch-compile-15.c * gcc/testsuite/gcc.target/s390/hotpatch-20.c * gcc/testsuite/gcc.target/s390/hotpatch-compile-9.c * gcc/testsuite/gcc.target/s390/hotpatch-14.c * gcc/testsuite/gcc.target/s390/hotpatch-16.c * gcc/testsuite/gcc.target/s390/hotpatch-18.c * gcc/testsuite/gcc.target/s390/hotpatch-compile-10.c * gcc/testsuite/gcc.target/s390/hotpatch-compile-12.c * gcc/testsuite/gcc.target/s390/hotpatch-compile-14.c * gcc/testsuite/gcc.target/s390/hotpatch-compile-16.c Backport from mainline 2015-02-23 Andreas Krebbel * gcc.target/s390/hotpatch-8.c: Add -march=g5. * gcc.target/s390/hotpatch-9.c: Add -march=g5. * gcc.target/s390/hotpatch-compile-1.c: Fix error message. * gcc.target/s390/hotpatch-compile-10.c: Likewise. * gcc.target/s390/hotpatch-compile-11.c: Likewise. * gcc.target/s390/hotpatch-compile-12.c: Likewise. * gcc.target/s390/hotpatch-compile-13.c: Likewise. * gcc.target/s390/hotpatch-compile-14.c: Likewise. * gcc.target/s390/hotpatch-compile-2.c: Likewise. * gcc.target/s390/hotpatch-compile-3.c: Likewise. * gcc.target/s390/hotpatch-compile-4.c: Likewise. * gcc.target/s390/hotpatch-compile-5.c: Likewise. * gcc.target/s390/hotpatch-compile-6.c: Likewise. * gcc.target/s390/hotpatch-compile-7.c: Likewise. * gcc.target/s390/hotpatch-compile-8.c: Likewise. * gcc.target/s390/hotpatch-compile-9.c: Likewise. From-SVN: r220932 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1e89a1f38ad9..7356b23fecae 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,43 @@ +2015-02-24 Andreas Krebbel + + Add testcases missing from hotpatch v2 + * gcc/testsuite/gcc.target/s390/hotpatch-13.c + * gcc/testsuite/gcc.target/s390/hotpatch-15.c + * gcc/testsuite/gcc.target/s390/hotpatch-17.c + * gcc/testsuite/gcc.target/s390/hotpatch-19.c + * gcc/testsuite/gcc.target/s390/hotpatch-compile-11.c + * gcc/testsuite/gcc.target/s390/hotpatch-compile-13.c + * gcc/testsuite/gcc.target/s390/hotpatch-compile-15.c + * gcc/testsuite/gcc.target/s390/hotpatch-20.c + * gcc/testsuite/gcc.target/s390/hotpatch-compile-9.c + * gcc/testsuite/gcc.target/s390/hotpatch-14.c + * gcc/testsuite/gcc.target/s390/hotpatch-16.c + * gcc/testsuite/gcc.target/s390/hotpatch-18.c + * gcc/testsuite/gcc.target/s390/hotpatch-compile-10.c + * gcc/testsuite/gcc.target/s390/hotpatch-compile-12.c + * gcc/testsuite/gcc.target/s390/hotpatch-compile-14.c + * gcc/testsuite/gcc.target/s390/hotpatch-compile-16.c + + Backport from mainline + 2015-02-23 Andreas Krebbel + + * gcc.target/s390/hotpatch-8.c: Add -march=g5. + * gcc.target/s390/hotpatch-9.c: Add -march=g5. + * gcc.target/s390/hotpatch-compile-1.c: Fix error message. + * gcc.target/s390/hotpatch-compile-10.c: Likewise. + * gcc.target/s390/hotpatch-compile-11.c: Likewise. + * gcc.target/s390/hotpatch-compile-12.c: Likewise. + * gcc.target/s390/hotpatch-compile-13.c: Likewise. + * gcc.target/s390/hotpatch-compile-14.c: Likewise. + * gcc.target/s390/hotpatch-compile-2.c: Likewise. + * gcc.target/s390/hotpatch-compile-3.c: Likewise. + * gcc.target/s390/hotpatch-compile-4.c: Likewise. + * gcc.target/s390/hotpatch-compile-5.c: Likewise. + * gcc.target/s390/hotpatch-compile-6.c: Likewise. + * gcc.target/s390/hotpatch-compile-7.c: Likewise. + * gcc.target/s390/hotpatch-compile-8.c: Likewise. + * gcc.target/s390/hotpatch-compile-9.c: Likewise. + 2015-02-23 Oleg Endo Backport from mainline diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-13.c b/gcc/testsuite/gcc.target/s390/hotpatch-13.c new file mode 100644 index 000000000000..8d4adcadf0ec --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-13.c @@ -0,0 +1,17 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch --save-temps" } */ + +#include + +__attribute__ ((hotpatch(1,0))) +void hp1(void) +{ + printf("hello, world!\n"); +} + +/* Check number of occurences of certain instructions. */ +/* { dg-final { scan-assembler-times "nopr\t%r7" 1 } } */ +/* { dg-final { scan-assembler-not "nop\t0" } } */ +/* { dg-final { scan-assembler-not "brcl\t\t0,0" } } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-14.c b/gcc/testsuite/gcc.target/s390/hotpatch-14.c new file mode 100644 index 000000000000..f1b2325e29ce --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-14.c @@ -0,0 +1,17 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch --save-temps" } */ + +#include + +__attribute__ ((hotpatch(0,2))) +void hp1(void) +{ + printf("hello, world!\n"); +} + +/* Check number of occurences of certain instructions. */ +/* { dg-final { scan-assembler-not "nopr\t%r7" } } */ +/* { dg-final { scan-assembler-times "nop\t0" 1 } } */ +/* { dg-final { scan-assembler-not "brcl\t\t0,0" } } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-15.c b/gcc/testsuite/gcc.target/s390/hotpatch-15.c new file mode 100644 index 000000000000..dd158d355ebc --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-15.c @@ -0,0 +1,17 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch --save-temps" } */ + +#include + +__attribute__ ((hotpatch(1,2))) +void hp1(void) +{ + printf("hello, world!\n"); +} + +/* Check number of occurences of certain instructions. */ +/* { dg-final { scan-assembler-times "nopr\t%r7" 1 } } */ +/* { dg-final { scan-assembler-times "nop\t0" 1 } } */ +/* { dg-final { scan-assembler-not "brcl\t\t0,0" } } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-16.c b/gcc/testsuite/gcc.target/s390/hotpatch-16.c new file mode 100644 index 000000000000..592de2c38d5f --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-16.c @@ -0,0 +1,17 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch -mhotpatch=0,0 --save-temps" } */ + +#include + +__attribute__ ((hotpatch(1,2))) +void hp1(void) +{ + printf("hello, world!\n"); +} + +/* Check number of occurences of certain instructions. */ +/* { dg-final { scan-assembler-times "nopr\t%r7" 1 } } */ +/* { dg-final { scan-assembler-times "nop\t0" 1 } } */ +/* { dg-final { scan-assembler-not "brcl\t\t0,0" } } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-17.c b/gcc/testsuite/gcc.target/s390/hotpatch-17.c new file mode 100644 index 000000000000..a1c94db882a7 --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-17.c @@ -0,0 +1,17 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch -mhotpatch=1,2 --save-temps" } */ + +#include + +__attribute__ ((hotpatch(0,0))) +void hp1(void) +{ + printf("hello, world!\n"); +} + +/* Check number of occurences of certain instructions. */ +/* { dg-final { scan-assembler-not "nopr\t%r7" } } */ +/* { dg-final { scan-assembler-not "nop\t0" } } */ +/* { dg-final { scan-assembler-not "brcl\t\t0,0" } } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-18.c b/gcc/testsuite/gcc.target/s390/hotpatch-18.c new file mode 100644 index 000000000000..19c5ce35408b --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-18.c @@ -0,0 +1,16 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch -mhotpatch=1,2 -mhotpatch=0,0 --save-temps" } */ + +#include + +void hp1(void) +{ + printf("hello, world!\n"); +} + +/* Check number of occurences of certain instructions. */ +/* { dg-final { scan-assembler-not "nopr\t%r7" } } */ +/* { dg-final { scan-assembler-not "nop\t0" } } */ +/* { dg-final { scan-assembler-not "brcl\t\t0,0" } } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-19.c b/gcc/testsuite/gcc.target/s390/hotpatch-19.c new file mode 100644 index 000000000000..993d04dab944 --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-19.c @@ -0,0 +1,23 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch -mhotpatch=1,2 --save-temps" } */ + +#include + +/* { dg-prune-output "always_inline function might not be inlinable" } */ +__attribute__ ((always_inline)) +static void hp2(void) +{ + printf("hello, world!\n"); +} + +void hp1(void) +{ + hp2(); +} + +/* Check number of occurences of certain instructions. */ +/* { dg-final { scan-assembler-times "nopr\t%r7" 1 } } */ +/* { dg-final { scan-assembler-times "nop\t0" 1 } } */ +/* { dg-final { scan-assembler-not "brcl\t\t0,0" } } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-20.c b/gcc/testsuite/gcc.target/s390/hotpatch-20.c new file mode 100644 index 000000000000..88721391d24b --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-20.c @@ -0,0 +1,20 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch --save-temps" } */ + +#include + +/* { dg-prune-output "always_inline function might not be inlinable" } */ +__attribute__ ((hotpatch(1,2))) +__attribute__ ((always_inline)) +static void hp2(void) +{ + printf("hello, world!\n"); +} + +/* { dg-prune-output "called from here" } */ +void hp1(void) +{ + hp2(); +} diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-8.c b/gcc/testsuite/gcc.target/s390/hotpatch-8.c index 8edcfccb62f7..7681eda2bbbe 100644 --- a/gcc/testsuite/gcc.target/s390/hotpatch-8.c +++ b/gcc/testsuite/gcc.target/s390/hotpatch-8.c @@ -1,7 +1,7 @@ /* Functional tests for the function hotpatching feature. */ /* { dg-do compile } */ -/* { dg-options "-O3 -mesa -m31 -mhotpatch=0,3 --save-temps" } */ +/* { dg-options "-O3 -mesa -m31 -march=g5 -mhotpatch=0,3 --save-temps" } */ #include diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-9.c b/gcc/testsuite/gcc.target/s390/hotpatch-9.c index 25b377180d63..cf38d3dc66d5 100644 --- a/gcc/testsuite/gcc.target/s390/hotpatch-9.c +++ b/gcc/testsuite/gcc.target/s390/hotpatch-9.c @@ -1,7 +1,7 @@ /* Functional tests for the function hotpatching feature. */ /* { dg-do compile } */ -/* { dg-options "-O3 -mesa -m31 -mhotpatch=0,4 --save-temps" } */ +/* { dg-options "-O3 -mesa -m31 -march=g5 -mhotpatch=0,4 --save-temps" } */ #include diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-1.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-1.c index d88e07eb2d6a..ca47f6be5def 100644 --- a/gcc/testsuite/gcc.target/s390/hotpatch-compile-1.c +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-1.c @@ -2,10 +2,4 @@ /* { dg-do compile } */ /* { dg-options "-O3 -mzarch -mhotpatch=-1,0" } */ - -int main (void) -{ - return 0; -} - -/* { dg-excess-errors "argument to '-mhotpatch=' should be a non-negative integer" } */ +/* { dg-error "arguments to .-mhotpatch=n,m. should be non-negative integers" "" { target *-*-* } 1 } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-10.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-10.c new file mode 100644 index 000000000000..8b6441d771e2 --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-10.c @@ -0,0 +1,10 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch" } */ + +__attribute__((hotpatch(0,0,0))) +int main (void) +{/* { dg-error "wrong number of arguments specified" } */ + return 0; +} diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-11.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-11.c new file mode 100644 index 000000000000..36c0e225e4d0 --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-11.c @@ -0,0 +1,12 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch" } */ + +int a; + +__attribute__((hotpatch(a,0))) +int main (void) +{ /* { dg-error "attribute is not a comma separated pair of non-negative integer constants or too large" } */ + return 0; +} diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-12.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-12.c new file mode 100644 index 000000000000..9b5fbd3f9277 --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-12.c @@ -0,0 +1,12 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch" } */ + +int a; + +__attribute__((hotpatch(0,a))) +int main (void) +{ /* { dg-error "attribute is not a comma separated pair of non-negative integer constants or too large" } */ + return 0; +} diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-13.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-13.c new file mode 100644 index 000000000000..a87524127429 --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-13.c @@ -0,0 +1,29 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch -mhotpatch=1000000,1000000" } */ + +#include + +void hp1(void) +{ + printf("hello, world!\n"); +} + +__attribute__ ((hotpatch(1000000,1000000))) +void hp2(void) +{ + printf("hello, world!\n"); +} + +__attribute__ ((hotpatch(1000001,1000000))) +void hp3(void) +{ /* { dg-error " requested .hotpatch. attribute is not a comma separated pair" } */ + printf("hello, world!\n"); +} + +__attribute__ ((hotpatch(1000000,1000001))) +void hp4(void) +{ /* { dg-error " requested .hotpatch. attribute is not a comma separated pair" } */ + printf("hello, world!\n"); +} diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-14.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-14.c new file mode 100644 index 000000000000..0b5e674d407f --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-14.c @@ -0,0 +1,11 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch -mhotpatch=1000001,1000000" } */ + +viod main(void) +{ + return 0; +} + +/* { dg-error "argument to .-mhotpatch=n,m. is too large" "" { target *-*-* } 1 } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-15.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-15.c new file mode 100644 index 000000000000..4ce7375a7c31 --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-15.c @@ -0,0 +1,43 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch" } */ + +/* { dg-prune-output "always_inline function might not be inlinable" } */ +/* { dg-prune-output "called from here" } */ + +#include + +__attribute__ ((hotpatch(1,2))) +static void hp1(void) +{ + printf("hello, world!\n"); +} + +__attribute__ ((hotpatch(1,2))) +static inline void hp2(void) +{ + printf("hello, world!\n"); +} + +__attribute__ ((hotpatch(0,0))) +__attribute__ ((always_inline)) +static void hp3(void) +{ + printf("hello, world!\n"); +} + +__attribute__ ((hotpatch(1,2))) +__attribute__ ((always_inline)) +static void hp4(void) +{ + printf("hello, world!\n"); +} + +void main(void) +{ + hp1(); + hp2(); + hp3(); + hp4(); +} diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-16.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-16.c new file mode 100644 index 000000000000..d5ba7f073cd3 --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-16.c @@ -0,0 +1,26 @@ +/* A warning will be issued when requesting hotpatching on a nested function. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch" } */ + +#include + +typedef int (*fn_t)(void); + +fn_t hp1(void) +{ + __attribute__((hotpatch(0,0))) + int nested1(void) + { return 1; } + + return nested1; +} + +fn_t hp2(void) +{ + __attribute__ ((hotpatch(1,2))) + int nested2(void) /* { dg-warning "hotpatching is not compatible with nested functions" } */ + { return 2; } + + return nested2; +} diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-2.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-2.c index 95820e493fcf..78253f59583c 100644 --- a/gcc/testsuite/gcc.target/s390/hotpatch-compile-2.c +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-2.c @@ -2,10 +2,4 @@ /* { dg-do compile } */ /* { dg-options "-O3 -mzarch -mhotpatch=0,-1" } */ - -int main (void) -{ - return 0; -} - -/* { dg-excess-errors "argument to '-mhotpatch=' should be a non-negative integer" } */ +/* { dg-error "arguments to .-mhotpatch=n,m. should be non-negative integers" "" { target *-*-* } 1 } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-3.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-3.c index bbed9759fbd9..6dde22422b0e 100644 --- a/gcc/testsuite/gcc.target/s390/hotpatch-compile-3.c +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-3.c @@ -2,10 +2,4 @@ /* { dg-do compile } */ /* { dg-options "-O3 -mzarch -mhotpatch=0" } */ - -int main (void) -{ - return 0; -} - -/* { dg-excess-errors "argument to '-mhotpatch=' should be a non-negative integer" } */ +/* { dg-error "arguments to .-mhotpatch=n,m. should be non-negative integers" "" { target *-*-* } 1 } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-4.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-4.c index 4d926594a5cc..fbb30833775a 100644 --- a/gcc/testsuite/gcc.target/s390/hotpatch-compile-4.c +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-4.c @@ -2,10 +2,4 @@ /* { dg-do compile } */ /* { dg-options "-O3 -mzarch -mhotpatch=0,0,0" } */ - -int main (void) -{ - return 0; -} - -/* { dg-excess-errors "argument to '-mhotpatch=' should be a non-negative integer" } */ +/* { dg-error "arguments to .-mhotpatch=n,m. should be non-negative integers" "" { target *-*-* } 1 } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-5.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-5.c index 46c9004d3e8a..dc0ff6775b8d 100644 --- a/gcc/testsuite/gcc.target/s390/hotpatch-compile-5.c +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-5.c @@ -2,10 +2,4 @@ /* { dg-do compile } */ /* { dg-options "-O3 -mzarch -mhotpatch=a,0" } */ - -int main (void) -{ - return 0; -} - -/* { dg-excess-errors "argument to '-mhotpatch=' should be a non-negative integer" } */ +/* { dg-error "arguments to .-mhotpatch=n,m. should be non-negative integers" "" { target *-*-* } 1 } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-6.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-6.c index b28e20551222..d04045eecd56 100644 --- a/gcc/testsuite/gcc.target/s390/hotpatch-compile-6.c +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-6.c @@ -2,10 +2,4 @@ /* { dg-do compile } */ /* { dg-options "-O3 -mzarch -mhotpatch=0,a" } */ - -int main (void) -{ - return 0; -} - -/* { dg-excess-errors "argument to '-mhotpatch=' should be a non-negative integer" } */ +/* { dg-error "arguments to .-mhotpatch=n,m. should be non-negative integers" "" { target *-*-* } 1 } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-7.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-7.c index 2080eb1f94ac..3505703fe8c3 100644 --- a/gcc/testsuite/gcc.target/s390/hotpatch-compile-7.c +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-7.c @@ -5,8 +5,6 @@ __attribute__((hotpatch(-1,0))) int main (void) -{ +{/* { dg-error "attribute is not a comma separated pair of non-negative integer constants or too large" } */ return 0; } - -/* { dg-excess-errors "argument to '-mhotpatch=' should be a non-negative integer" } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-8.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-8.c index 46a38c860c26..fd354313627e 100644 --- a/gcc/testsuite/gcc.target/s390/hotpatch-compile-8.c +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-8.c @@ -5,8 +5,6 @@ __attribute__((hotpatch(0,-1))) int main (void) -{ +{/* { dg-error "attribute is not a comma separated pair of non-negative integer constants or too large" } */ return 0; } - -/* { dg-excess-errors "argument to '-mhotpatch=' should be a non-negative integer" } */ diff --git a/gcc/testsuite/gcc.target/s390/hotpatch-compile-9.c b/gcc/testsuite/gcc.target/s390/hotpatch-compile-9.c new file mode 100644 index 000000000000..dcefbe4aac77 --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/hotpatch-compile-9.c @@ -0,0 +1,10 @@ +/* Functional tests for the function hotpatching feature. */ + +/* { dg-do compile } */ +/* { dg-options "-O3 -mzarch" } */ + +__attribute__((hotpatch(0))) +int main (void) +{/* { dg-error "wrong number of arguments specified" } */ + return 0; +}