https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66783
--- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> --- Author: dmalcolm Date: Tue Jul 7 19:29:58 2015 New Revision: 225523 URL: https://gcc.gnu.org/viewcvs?rev=225523&root=gcc&view=rev Log: PR jit/66783: prevent use of opaque structs gcc/jit/ChangeLog: PR jit/66783 * jit-recording.h: Within namespace gcc:jit::recording... (type::has_known_size): New virtual function. (struct_has_known_size): New function. * libgccjit.c (gcc_jit_context_new_field): Verify that the type has a known size. (gcc_jit_context_new_global): Likewise. (gcc_jit_function_new_local): Likewise. gcc/testsuite/ChangeLog: PR jit/66783 * jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c: New test case. * jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c: New test case. * jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c: New test case. * jit.dg/test-error-mismatching-types-in-call.c (create_code): Avoid using an opaque struct for local "f". Added: trunk/gcc/testsuite/jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c trunk/gcc/testsuite/jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c trunk/gcc/testsuite/jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c Modified: trunk/gcc/jit/ChangeLog trunk/gcc/jit/jit-recording.h trunk/gcc/jit/libgccjit.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/jit.dg/test-error-mismatching-types-in-call.c