On Thu, 2022-06-02 at 23:09 -0400, Antoni Boucher via Gcc-patches wrote: > Hi. > The attached patch fix bug 105829: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105829 > > Thanks for the review.
> diff --git a/gcc/jit/libgccjit.cc b/gcc/jit/libgccjit.cc > index cc6486c9cad..12e7679988b 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 an int or float type is supported for now"); Reword to: "only getting the size of integer or floating-point types is supported for now" to avoid using the words "int" and "float" to refer to those kinds of types, and to follow: https://gcc.gnu.org/codingconventions.html#Spelling > return type->get_size (); > } > > diff --git a/gcc/testsuite/jit.dg/test-types.c > b/gcc/testsuite/jit.dg/test-types.c > index 6836597d14e..53bdeafed61 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)), 4); > + CHECK_VALUE (gcc_jit_type_get_size (gcc_jit_context_get_type (ctxt, > GCC_JIT_TYPE_DOUBLE)), 8); I'm not sure these sizes are 4 and 8 on every target we support. I got curious and found e.g. gcc/config/rl78/rl78.h has: #define FLOAT_TYPE_SIZE 32 #define DOUBLE_TYPE_SIZE 32 /*64*/ Maybe use sizeof (float) and sizeof (double) in the assertion, rather than hardcoding the values? (though this still assumes host == target). Otherwise LGTM - OK for trunk with those nits fixed. Thanks Dave