aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2015-07-10 17:32:48 +0200
committerUros Bizjak <uros@gcc.gnu.org>2015-07-10 17:32:48 +0200
commit15e3956e406ebeed5e5e9d3f27047e31d4d53411 (patch)
tree5f014b7ef56b90777cca127ea65379775c2f3a49 /gcc
parentf3ae5c0ceac5d273b63f78ad95f87bcf5d17a78a (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.target/i386/readeflags-1.c5
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 ();
}