Daily bump.
[official-gcc.git] / gcc / testsuite / jit.dg / test-error-global-already-init.c
blobecead87fc15ef9ef63fa01f1d77e0d74a46ce944
1 /*
3 Test that we can't set the initializer on a global twice.
5 */
7 #include <stdlib.h>
8 #include <stdio.h>
10 #include "libgccjit.h"
11 #include "harness.h"
13 void
14 create_code (gcc_jit_context *ctxt, void *user_data)
16 gcc_jit_type *int_type = gcc_jit_context_get_type (ctxt, GCC_JIT_TYPE_INT);
18 gcc_jit_lvalue *bar = gcc_jit_context_new_global (
19 ctxt, NULL,
20 GCC_JIT_GLOBAL_EXPORTED,
21 int_type,
22 "global_lvalueinit_int_0");
24 gcc_jit_global_set_initializer_rvalue (
25 bar,
26 gcc_jit_context_new_rvalue_from_int (ctxt, int_type, 1));
27 gcc_jit_global_set_initializer_rvalue (
28 bar,
29 gcc_jit_context_new_rvalue_from_int (ctxt, int_type, 1));
32 void
33 verify_code (gcc_jit_context *ctxt, gcc_jit_result *result)
35 /* Ensure that the bad API usage prevents the API giving a bogus
36 result back. */
37 CHECK_VALUE (result, NULL);
39 /* Verify that the correct error message was emitted. */
40 CHECK_STRING_VALUE (gcc_jit_context_get_first_error (ctxt),
41 "gcc_jit_global_set_initializer_rvalue: global variable "
42 "already initialized: global_lvalueinit_int_0");
43 CHECK_STRING_VALUE (gcc_jit_context_get_last_error (ctxt),
44 "gcc_jit_global_set_initializer_rvalue: global variable "
45 "already initialized: global_lvalueinit_int_0");