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".
From-SVN: r225523