diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2015-07-10 17:32:48 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2015-07-10 17:32:48 +0200 |
commit | 15e3956e406ebeed5e5e9d3f27047e31d4d53411 (patch) | |
tree | 5f014b7ef56b90777cca127ea65379775c2f3a49 /gcc | |
parent | f3ae5c0ceac5d273b63f78ad95f87bcf5d17a78a (diff) | |
download | gcc-15e3956e406ebeed5e5e9d3f27047e31d4d53411.zip gcc-15e3956e406ebeed5e5e9d3f27047e31d4d53411.tar.gz gcc-15e3956e406ebeed5e5e9d3f27047e31d4d53411.tar.bz2 |
re PR target/66703 ([4.9/5/6] gcc.target/i386/readeflags-1.c aborts on -march=i586 or on -miamcu)
PR target/66703
* gcc.target/i386/readeflags-1.c (readeflags_test): Declare with
__attribute__((noinline, noclone)). Change "x" to "volatile char"
type to prevent possible flag-clobbering zero-extensions.
From-SVN: r225680
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/readeflags-1.c | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c21e3d8..6145604 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2015-07-10 Uros Bizjak <ubizjak@gmail.com> + + PR target/66703 + * gcc.target/i386/readeflags-1.c (readeflags_test): Declare with + __attribute__((noinline, noclone)). Change "x" to "volatile char" + type to prevent possible flag-clobbering zero-extensions. + 2015-07-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/60842 diff --git a/gcc/testsuite/gcc.target/i386/readeflags-1.c b/gcc/testsuite/gcc.target/i386/readeflags-1.c index 363a895..d0dd0da 100644 --- a/gcc/testsuite/gcc.target/i386/readeflags-1.c +++ b/gcc/testsuite/gcc.target/i386/readeflags-1.c @@ -11,10 +11,11 @@ extern void abort (void); #define EFLAGS_TYPE unsigned int #endif -static EFLAGS_TYPE +__attribute__((noinline, noclone)) +EFLAGS_TYPE readeflags_test (unsigned int a, unsigned int b) { - unsigned x = (a == b); + volatile char x = (a == b); return __readeflags (); } |