aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 ();
}