diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/jit/libgccjit.cc | 4 | ||||
-rw-r--r-- | gcc/testsuite/jit.dg/test-types.c | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/gcc/jit/libgccjit.cc b/gcc/jit/libgccjit.cc index cc6486c..0e76097 100644 --- a/gcc/jit/libgccjit.cc +++ b/gcc/jit/libgccjit.cc @@ -545,8 +545,8 @@ gcc_jit_type_get_size (gcc_jit_type *type) { RETURN_VAL_IF_FAIL (type, -1, NULL, NULL, "NULL type"); RETURN_VAL_IF_FAIL - (type->is_int (), -1, NULL, NULL, - "only getting the size of an integer type is supported for now"); + (type->is_int () || type->is_float (), -1, NULL, NULL, + "only getting the size of integer or floating-point types is supported for now"); return type->get_size (); } diff --git a/gcc/testsuite/jit.dg/test-types.c b/gcc/testsuite/jit.dg/test-types.c index 6836597..a01944e 100644 --- a/gcc/testsuite/jit.dg/test-types.c +++ b/gcc/testsuite/jit.dg/test-types.c @@ -489,4 +489,7 @@ verify_code (gcc_jit_context *ctxt, gcc_jit_result *result) CHECK (gcc_jit_compatible_types ( gcc_jit_context_get_type (ctxt, GCC_JIT_TYPE_LONG), gcc_jit_context_get_type (ctxt, GCC_JIT_TYPE_INT64_T))); + + 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)); } |