aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2018-01-25 00:45:51 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2018-01-25 00:45:51 +0000
commit1983b3e02952a26bf5e319e86bb95667bc420f06 (patch)
tree5f3c0f0deb1915e08baed7db9b7b067ca46904d8 /gcc
parent2c3babdcb0de7cb6ea1cba447daece318fc45e79 (diff)
downloadgcc-1983b3e02952a26bf5e319e86bb95667bc420f06.zip
gcc-1983b3e02952a26bf5e319e86bb95667bc420f06.tar.gz
gcc-1983b3e02952a26bf5e319e86bb95667bc420f06.tar.bz2
Fix jit.dg/test-alignment* (PR jit/82846)
These testcases jit-compile functions that return char, but were erroneously calling them as if they returned int. This led to errors for certain target configurations (e.g. reading from %eax (32-bit) in the harness when only %al (8-bit) had been written to in the jit-compiled function). gcc/testsuite/ChangeLog: PR jit/82846 * jit.dg/test-alignment.c (create_aligned_code): Fix return type of "fn_type" typedef. * jit.dg/test-alignment.cc (verify_aligned_code): Likewise. From-SVN: r257037
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/jit.dg/test-alignment.c2
-rw-r--r--gcc/testsuite/jit.dg/test-alignment.cc2
3 files changed, 9 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index bdc01f7..72efc3f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2018-01-24 David Malcolm <dmalcolm@redhat.com>
+
+ PR jit/82846
+ * jit.dg/test-alignment.c (create_aligned_code): Fix return type
+ of "fn_type" typedef.
+ * jit.dg/test-alignment.cc (verify_aligned_code): Likewise.
+
2018-01-24 Ian Lance Taylor <iant@golang.org>
* go.go-torture/execute/names-1.go: New test.
diff --git a/gcc/testsuite/jit.dg/test-alignment.c b/gcc/testsuite/jit.dg/test-alignment.c
index 686d981..82328d5 100644
--- a/gcc/testsuite/jit.dg/test-alignment.c
+++ b/gcc/testsuite/jit.dg/test-alignment.c
@@ -166,7 +166,7 @@ create_aligned_code (gcc_jit_context *ctxt, const char *struct_name,
gcc_jit_result *result, \
const char *writer_fn_name) \
{ \
- typedef int (*fn_type) (struct TYPENAME *); \
+ typedef char (*fn_type) (struct TYPENAME *); \
CHECK_NON_NULL (result); \
\
struct TYPENAME tmp; \
diff --git a/gcc/testsuite/jit.dg/test-alignment.cc b/gcc/testsuite/jit.dg/test-alignment.cc
index 3e99209..9a09a41 100644
--- a/gcc/testsuite/jit.dg/test-alignment.cc
+++ b/gcc/testsuite/jit.dg/test-alignment.cc
@@ -126,7 +126,7 @@ verify_aligned_code (gcc_jit_context *ctxt,
gcc_jit_result *result,
const char *writer_fn_name)
{
- typedef int (*fn_type) (T *);
+ typedef char (*fn_type) (T *);
CHECK_NON_NULL (result);
T tmp;