From: Antoni Boucher <[email protected]>
gcc/jit/ChangeLog:
* jit-recording.cc: Get correct size for long double.
gcc/testsuite/ChangeLog:
* jit.dg/test-types.c: Test get_size for long double.
---
gcc/jit/jit-recording.cc | 6 +++---
gcc/testsuite/jit.dg/test-types.c | 1 +
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/gcc/jit/jit-recording.cc b/gcc/jit/jit-recording.cc
index 2f4ecc31825..9636615f41a 100644
--- a/gcc/jit/jit-recording.cc
+++ b/gcc/jit/jit-recording.cc
@@ -2620,7 +2620,7 @@ recording::memento_of_get_type::get_size ()
break;
case GCC_JIT_TYPE_FLOAT:
m = targetm.c.mode_for_floating_type (TI_FLOAT_TYPE);
- size = GET_MODE_PRECISION (m).to_constant ();
+ size = GET_MODE_UNIT_SIZE (m) * BITS_PER_UNIT;
break;
#ifdef HAVE_BFmode
case GCC_JIT_TYPE_BFLOAT16:
@@ -2628,11 +2628,11 @@ recording::memento_of_get_type::get_size ()
#endif
case GCC_JIT_TYPE_DOUBLE:
m = targetm.c.mode_for_floating_type (TI_DOUBLE_TYPE);
- size = GET_MODE_PRECISION (m).to_constant ();
+ size = GET_MODE_UNIT_SIZE (m) * BITS_PER_UNIT;
break;
case GCC_JIT_TYPE_LONG_DOUBLE:
m = targetm.c.mode_for_floating_type (TI_LONG_DOUBLE_TYPE);
- size = GET_MODE_PRECISION (m).to_constant ();
+ size = GET_MODE_UNIT_SIZE (m) * BITS_PER_UNIT;
break;
case GCC_JIT_TYPE_SIZE_T:
size = MAX_BITS_PER_WORD;
diff --git a/gcc/testsuite/jit.dg/test-types.c b/gcc/testsuite/jit.dg/test-types.c
index 8573711cf8e..add08fad7b9 100644
--- a/gcc/testsuite/jit.dg/test-types.c
+++ b/gcc/testsuite/jit.dg/test-types.c
@@ -493,6 +493,7 @@ verify_code (gcc_jit_context *ctxt, gcc_jit_result *result)
CHECK_VALUE (gcc_jit_type_get_size (gcc_jit_context_get_type (ctxt, GCC_JIT_TYPE_FLOAT)), sizeof (float));
CHECK_VALUE (gcc_jit_type_get_size (gcc_jit_context_get_type (ctxt, GCC_JIT_TYPE_DOUBLE)), sizeof (double));
+ CHECK_VALUE (gcc_jit_type_get_size (gcc_jit_context_get_type (ctxt, GCC_JIT_TYPE_LONG_DOUBLE)), sizeof (long double));
#ifdef HAVE_BFmode
CHECK_VALUE (gcc_jit_type_get_size (gcc_jit_context_get_type (ctxt, GCC_JIT_TYPE_BFLOAT16)), sizeof (__bfloat16));
#endif