1 #include <stdlib.h>
2 #include <stdio.h>
3 
4 #include "libgccjit.h"
5 
6 #include "harness.h"
7 
8 void
create_code(gcc_jit_context * ctxt,void * user_data)9 create_code (gcc_jit_context *ctxt, void *user_data)
10 {
11   /* Trigger an API error by passing bad data.  */
12   gcc_jit_context_new_function (ctxt, NULL,
13                                 GCC_JIT_FUNCTION_EXPORTED,
14                                 NULL, /* error: this must be non-NULL */
15                                 "hello_world",
16                                 0, NULL,
17                                 0);
18 }
19 
20 void
verify_code(gcc_jit_context * ctxt,gcc_jit_result * result)21 verify_code (gcc_jit_context *ctxt, gcc_jit_result *result)
22 {
23   /* Ensure that the bad API usage prevents the API giving a bogus
24      result back.  */
25   CHECK_VALUE (result, NULL);
26 
27   /* Verify that the correct error message was emitted.  */
28   CHECK_STRING_VALUE (gcc_jit_context_get_first_error (ctxt),
29 		      "gcc_jit_context_new_function: NULL return_type");
30   CHECK_STRING_VALUE (gcc_jit_context_get_last_error (ctxt),
31 		      "gcc_jit_context_new_function: NULL return_type");
32 }
33 
34