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

Reply via email to