package gccjit

  1. Overview
  2. Docs

Source file libgccjit__c_generated_functions__Gccjit_bindings__Functions.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
module CI = Cstubs_internals

external libgccjit_stubs_1_gcc_jit_context_acquire : unit -> CI.voidp
  = "libgccjit_stubs_1_gcc_jit_context_acquire" 

external libgccjit_stubs_2_gcc_jit_context_release : _ CI.fatptr -> unit
  = "libgccjit_stubs_2_gcc_jit_context_release" 

external libgccjit_stubs_3_gcc_jit_context_set_str_option
  : _ CI.fatptr -> Unsigned.uint32 -> _ CI.fatptr -> unit
  = "libgccjit_stubs_3_gcc_jit_context_set_str_option" 

external libgccjit_stubs_4_gcc_jit_context_set_int_option
  : _ CI.fatptr -> Unsigned.uint32 -> int -> unit
  = "libgccjit_stubs_4_gcc_jit_context_set_int_option" 

external libgccjit_stubs_5_gcc_jit_context_set_bool_option
  : _ CI.fatptr -> Unsigned.uint32 -> bool -> unit
  = "libgccjit_stubs_5_gcc_jit_context_set_bool_option" 

external libgccjit_stubs_6_gcc_jit_context_compile : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_6_gcc_jit_context_compile" 

external libgccjit_stubs_7_gcc_jit_context_compile_to_file
  : _ CI.fatptr -> Unsigned.uint32 -> _ CI.fatptr -> unit
  = "libgccjit_stubs_7_gcc_jit_context_compile_to_file" 

external libgccjit_stubs_8_gcc_jit_context_dump_to_file
  : _ CI.fatptr -> _ CI.fatptr -> int -> unit
  = "libgccjit_stubs_8_gcc_jit_context_dump_to_file" 

external libgccjit_stubs_9_gcc_jit_context_set_logfile
  : _ CI.fatptr -> _ CI.fatptr -> int -> int -> unit
  = "libgccjit_stubs_9_gcc_jit_context_set_logfile" 

external libgccjit_stubs_10_gcc_jit_context_get_first_error
  : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_10_gcc_jit_context_get_first_error" 

external libgccjit_stubs_11_gcc_jit_context_get_last_error
  : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_11_gcc_jit_context_get_last_error" 

external libgccjit_stubs_12_gcc_jit_result_get_code
  : _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_12_gcc_jit_result_get_code" 

external libgccjit_stubs_13_gcc_jit_result_get_global
  : _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_13_gcc_jit_result_get_global" 

external libgccjit_stubs_14_gcc_jit_result_release : _ CI.fatptr -> unit
  = "libgccjit_stubs_14_gcc_jit_result_release" 

external libgccjit_stubs_15_gcc_jit_object_get_context
  : _ CI.fatptr -> CI.voidp = "libgccjit_stubs_15_gcc_jit_object_get_context" 

external libgccjit_stubs_16_gcc_jit_object_get_debug_string
  : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_16_gcc_jit_object_get_debug_string" 

external libgccjit_stubs_17_gcc_jit_context_new_location
  : _ CI.fatptr -> _ CI.fatptr -> int -> int -> CI.voidp
  = "libgccjit_stubs_17_gcc_jit_context_new_location" 

external libgccjit_stubs_18_gcc_jit_location_as_object
  : _ CI.fatptr -> CI.voidp = "libgccjit_stubs_18_gcc_jit_location_as_object" 

external libgccjit_stubs_19_gcc_jit_type_as_object : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_19_gcc_jit_type_as_object" 

external libgccjit_stubs_20_gcc_jit_context_get_type
  : _ CI.fatptr -> Unsigned.uint32 -> CI.voidp
  = "libgccjit_stubs_20_gcc_jit_context_get_type" 

external libgccjit_stubs_21_gcc_jit_context_get_int_type
  : _ CI.fatptr -> int -> int -> CI.voidp
  = "libgccjit_stubs_21_gcc_jit_context_get_int_type" 

external libgccjit_stubs_22_gcc_jit_type_get_pointer
  : _ CI.fatptr -> CI.voidp = "libgccjit_stubs_22_gcc_jit_type_get_pointer" 

external libgccjit_stubs_23_gcc_jit_type_get_const : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_23_gcc_jit_type_get_const" 

external libgccjit_stubs_24_gcc_jit_type_get_volatile
  : _ CI.fatptr -> CI.voidp = "libgccjit_stubs_24_gcc_jit_type_get_volatile" 

external libgccjit_stubs_25_gcc_jit_context_new_array_type
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> int -> CI.voidp
  = "libgccjit_stubs_25_gcc_jit_context_new_array_type" 

external libgccjit_stubs_26_gcc_jit_context_new_field
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_26_gcc_jit_context_new_field" 

external libgccjit_stubs_27_gcc_jit_field_as_object : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_27_gcc_jit_field_as_object" 

external libgccjit_stubs_28_gcc_jit_context_new_struct_type
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> int -> _ CI.fatptr ->
    CI.voidp = "libgccjit_stubs_28_gcc_jit_context_new_struct_type" 

external libgccjit_stubs_29_gcc_jit_context_new_opaque_struct
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_29_gcc_jit_context_new_opaque_struct" 

external libgccjit_stubs_30_gcc_jit_struct_as_type : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_30_gcc_jit_struct_as_type" 

external libgccjit_stubs_31_gcc_jit_struct_set_fields
  : _ CI.fatptr -> _ CI.fatptr -> int -> _ CI.fatptr -> unit
  = "libgccjit_stubs_31_gcc_jit_struct_set_fields" 

external libgccjit_stubs_32_gcc_jit_context_new_union_type
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> int -> _ CI.fatptr ->
    CI.voidp = "libgccjit_stubs_32_gcc_jit_context_new_union_type" 

external libgccjit_stubs_33_gcc_jit_context_new_function_ptr_type
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> int -> _ CI.fatptr -> 
    int -> CI.voidp
  =
  "libgccjit_stubs_33_gcc_jit_context_new_function_ptr_type_byte6" "libgccjit_stubs_33_gcc_jit_context_new_function_ptr_type"
  

external libgccjit_stubs_34_gcc_jit_context_new_param
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_34_gcc_jit_context_new_param" 

external libgccjit_stubs_35_gcc_jit_param_as_object : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_35_gcc_jit_param_as_object" 

external libgccjit_stubs_36_gcc_jit_param_as_lvalue : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_36_gcc_jit_param_as_lvalue" 

external libgccjit_stubs_37_gcc_jit_param_as_rvalue : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_37_gcc_jit_param_as_rvalue" 

external libgccjit_stubs_38_gcc_jit_context_new_function
  : _ CI.fatptr -> _ CI.fatptr -> Unsigned.uint32 -> _ CI.fatptr ->
    _ CI.fatptr -> int -> _ CI.fatptr -> int -> CI.voidp
  =
  "libgccjit_stubs_38_gcc_jit_context_new_function_byte8" "libgccjit_stubs_38_gcc_jit_context_new_function"
  

external libgccjit_stubs_39_gcc_jit_context_get_builtin_function
  : _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_39_gcc_jit_context_get_builtin_function" 

external libgccjit_stubs_40_gcc_jit_function_as_object
  : _ CI.fatptr -> CI.voidp = "libgccjit_stubs_40_gcc_jit_function_as_object" 

external libgccjit_stubs_41_gcc_jit_function_get_param
  : _ CI.fatptr -> int -> CI.voidp
  = "libgccjit_stubs_41_gcc_jit_function_get_param" 

external libgccjit_stubs_42_gcc_jit_function_dump_to_dot
  : _ CI.fatptr -> _ CI.fatptr -> unit
  = "libgccjit_stubs_42_gcc_jit_function_dump_to_dot" 

external libgccjit_stubs_43_gcc_jit_function_new_block
  : _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_43_gcc_jit_function_new_block" 

external libgccjit_stubs_44_gcc_jit_block_as_object : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_44_gcc_jit_block_as_object" 

external libgccjit_stubs_45_gcc_jit_block_get_function
  : _ CI.fatptr -> CI.voidp = "libgccjit_stubs_45_gcc_jit_block_get_function" 

external libgccjit_stubs_46_gcc_jit_context_new_global
  : _ CI.fatptr -> _ CI.fatptr -> Unsigned.uint32 -> _ CI.fatptr ->
    _ CI.fatptr -> CI.voidp = "libgccjit_stubs_46_gcc_jit_context_new_global" 

external libgccjit_stubs_47_gcc_jit_lvalue_as_object
  : _ CI.fatptr -> CI.voidp = "libgccjit_stubs_47_gcc_jit_lvalue_as_object" 

external libgccjit_stubs_48_gcc_jit_lvalue_as_rvalue
  : _ CI.fatptr -> CI.voidp = "libgccjit_stubs_48_gcc_jit_lvalue_as_rvalue" 

external libgccjit_stubs_49_gcc_jit_rvalue_as_object
  : _ CI.fatptr -> CI.voidp = "libgccjit_stubs_49_gcc_jit_rvalue_as_object" 

external libgccjit_stubs_50_gcc_jit_rvalue_get_type : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_50_gcc_jit_rvalue_get_type" 

external libgccjit_stubs_51_gcc_jit_context_new_rvalue_from_int
  : _ CI.fatptr -> _ CI.fatptr -> int -> CI.voidp
  = "libgccjit_stubs_51_gcc_jit_context_new_rvalue_from_int" 

external libgccjit_stubs_52_gcc_jit_context_new_rvalue_from_long
  : _ CI.fatptr -> _ CI.fatptr -> int -> CI.voidp
  = "libgccjit_stubs_52_gcc_jit_context_new_rvalue_from_long" 

external libgccjit_stubs_53_gcc_jit_context_zero
  : _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_53_gcc_jit_context_zero" 

external libgccjit_stubs_54_gcc_jit_context_one
  : _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_54_gcc_jit_context_one" 

external libgccjit_stubs_55_gcc_jit_context_new_rvalue_from_double
  : _ CI.fatptr -> _ CI.fatptr -> float -> CI.voidp
  = "libgccjit_stubs_55_gcc_jit_context_new_rvalue_from_double" 

external libgccjit_stubs_56_gcc_jit_context_new_rvalue_from_ptr
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_56_gcc_jit_context_new_rvalue_from_ptr" 

external libgccjit_stubs_57_gcc_jit_context_null
  : _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_57_gcc_jit_context_null" 

external libgccjit_stubs_58_gcc_jit_context_new_string_literal
  : _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_58_gcc_jit_context_new_string_literal" 

external libgccjit_stubs_59_gcc_jit_context_new_unary_op
  : _ CI.fatptr -> _ CI.fatptr -> Unsigned.uint32 -> _ CI.fatptr ->
    _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_59_gcc_jit_context_new_unary_op" 

external libgccjit_stubs_60_gcc_jit_context_new_binary_op
  : _ CI.fatptr -> _ CI.fatptr -> Unsigned.uint32 -> _ CI.fatptr ->
    _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  =
  "libgccjit_stubs_60_gcc_jit_context_new_binary_op_byte6" "libgccjit_stubs_60_gcc_jit_context_new_binary_op"
  

external libgccjit_stubs_61_gcc_jit_context_new_comparison
  : _ CI.fatptr -> _ CI.fatptr -> Unsigned.uint32 -> _ CI.fatptr ->
    _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_61_gcc_jit_context_new_comparison" 

external libgccjit_stubs_62_gcc_jit_context_new_call
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> int -> _ CI.fatptr ->
    CI.voidp = "libgccjit_stubs_62_gcc_jit_context_new_call" 

external libgccjit_stubs_63_gcc_jit_context_new_call_through_ptr
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> int -> _ CI.fatptr ->
    CI.voidp = "libgccjit_stubs_63_gcc_jit_context_new_call_through_ptr" 

external libgccjit_stubs_64_gcc_jit_context_new_cast
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_64_gcc_jit_context_new_cast" 

external libgccjit_stubs_65_gcc_jit_context_new_array_access
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_65_gcc_jit_context_new_array_access" 

external libgccjit_stubs_66_gcc_jit_lvalue_access_field
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_66_gcc_jit_lvalue_access_field" 

external libgccjit_stubs_67_gcc_jit_rvalue_access_field
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_67_gcc_jit_rvalue_access_field" 

external libgccjit_stubs_68_gcc_jit_rvalue_dereference_field
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_68_gcc_jit_rvalue_dereference_field" 

external libgccjit_stubs_69_gcc_jit_rvalue_dereference
  : _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_69_gcc_jit_rvalue_dereference" 

external libgccjit_stubs_70_gcc_jit_lvalue_get_address
  : _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_70_gcc_jit_lvalue_get_address" 

external libgccjit_stubs_71_gcc_jit_function_new_local
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_71_gcc_jit_function_new_local" 

external libgccjit_stubs_72_gcc_jit_block_add_eval
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> unit
  = "libgccjit_stubs_72_gcc_jit_block_add_eval" 

external libgccjit_stubs_73_gcc_jit_block_add_assignment
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> unit
  = "libgccjit_stubs_73_gcc_jit_block_add_assignment" 

external libgccjit_stubs_74_gcc_jit_block_add_assignment_op
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> Unsigned.uint32 ->
    _ CI.fatptr -> unit
  = "libgccjit_stubs_74_gcc_jit_block_add_assignment_op" 

external libgccjit_stubs_75_gcc_jit_block_add_comment
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> unit
  = "libgccjit_stubs_75_gcc_jit_block_add_comment" 

external libgccjit_stubs_76_gcc_jit_block_end_with_conditional
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr ->
    _ CI.fatptr -> unit
  = "libgccjit_stubs_76_gcc_jit_block_end_with_conditional" 

external libgccjit_stubs_77_gcc_jit_block_end_with_jump
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> unit
  = "libgccjit_stubs_77_gcc_jit_block_end_with_jump" 

external libgccjit_stubs_78_gcc_jit_block_end_with_return
  : _ CI.fatptr -> _ CI.fatptr -> _ CI.fatptr -> unit
  = "libgccjit_stubs_78_gcc_jit_block_end_with_return" 

external libgccjit_stubs_79_gcc_jit_block_end_with_void_return
  : _ CI.fatptr -> _ CI.fatptr -> unit
  = "libgccjit_stubs_79_gcc_jit_block_end_with_void_return" 

external libgccjit_stubs_80_gcc_jit_context_new_child_context
  : _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_80_gcc_jit_context_new_child_context" 

external libgccjit_stubs_81_gcc_jit_context_dump_reproducer_to_file
  : _ CI.fatptr -> _ CI.fatptr -> unit
  = "libgccjit_stubs_81_gcc_jit_context_dump_reproducer_to_file" 

external libgccjit_stubs_82_fdopen : int -> _ CI.fatptr -> CI.voidp
  = "libgccjit_stubs_82_fdopen" 

type 'a result = 'a
type 'a return = 'a
type 'a fn =
 | Returns  : 'a CI.typ   -> 'a return fn
 | Function : 'a CI.typ * 'b fn  -> ('a -> 'b) fn
let map_result f x = f x
let returning t = Returns t
let (@->) f p = Function (f, p)
let foreign : type a b. string -> (a -> b) fn -> (a -> b) =
  fun name t -> match t, name with
| Function
    (CI.Primitive CI.Int,
     Function
       (CI.View {CI.ty = CI.Pointer _; write = x3; _},
        Returns (CI.View {CI.ty = CI.Pointer x6; read = x7; _}))),
  "fdopen" ->
  (fun x1 x2 ->
    let CI.CPointer x5 = x3 x2 in
    let x4 = x5 in x7 (CI.make_ptr x6 (libgccjit_stubs_82_fdopen x1 x4)))
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Pointer _; write = x11; _}, Returns CI.Void)),
  "gcc_jit_context_dump_reproducer_to_file" ->
  (fun x8 x10 ->
    let CI.CPointer x13 = x11 x10 in
    let CI.CPointer x9 = x8 in
    let x12 = x13 in
    libgccjit_stubs_81_gcc_jit_context_dump_reproducer_to_file x9 x12)
| Function (CI.Pointer _, Returns (CI.Pointer x16)),
  "gcc_jit_context_new_child_context" ->
  (fun x14 ->
    let CI.CPointer x15 = x14 in
    CI.make_ptr x16
      (libgccjit_stubs_80_gcc_jit_context_new_child_context x15))
| Function (CI.Pointer _, Function (CI.Pointer _, Returns CI.Void)),
  "gcc_jit_block_end_with_void_return" ->
  (fun x17 x19 ->
    let CI.CPointer x20 = x19 in
    let CI.CPointer x18 = x17 in
    libgccjit_stubs_79_gcc_jit_block_end_with_void_return x18 x20)
| Function
    (CI.Pointer _,
     Function (CI.Pointer _, Function (CI.Pointer _, Returns CI.Void))),
  "gcc_jit_block_end_with_return" ->
  (fun x21 x23 x25 ->
    let CI.CPointer x26 = x25 in
    let CI.CPointer x24 = x23 in
    let CI.CPointer x22 = x21 in
    libgccjit_stubs_78_gcc_jit_block_end_with_return x22 x24 x26)
| Function
    (CI.Pointer _,
     Function (CI.Pointer _, Function (CI.Pointer _, Returns CI.Void))),
  "gcc_jit_block_end_with_jump" ->
  (fun x27 x29 x31 ->
    let CI.CPointer x32 = x31 in
    let CI.CPointer x30 = x29 in
    let CI.CPointer x28 = x27 in
    libgccjit_stubs_77_gcc_jit_block_end_with_jump x28 x30 x32)
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _,
           Function (CI.Pointer _, Function (CI.Pointer _, Returns CI.Void))))),
  "gcc_jit_block_end_with_conditional" ->
  (fun x33 x35 x37 x39 x41 ->
    let CI.CPointer x42 = x41 in
    let CI.CPointer x40 = x39 in
    let CI.CPointer x38 = x37 in
    let CI.CPointer x36 = x35 in
    let CI.CPointer x34 = x33 in
    libgccjit_stubs_76_gcc_jit_block_end_with_conditional x34 x36 x38 x40 x42)
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.View {CI.ty = CI.Pointer _; write = x48; _}, Returns CI.Void))),
  "gcc_jit_block_add_comment" ->
  (fun x43 x45 x47 ->
    let CI.CPointer x50 = x48 x47 in
    let CI.CPointer x46 = x45 in
    let CI.CPointer x44 = x43 in
    let x49 = x50 in libgccjit_stubs_75_gcc_jit_block_add_comment x44 x46 x49)
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _,
           Function
             (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x58; _},
              Function (CI.Pointer _, Returns CI.Void))))),
  "gcc_jit_block_add_assignment_op" ->
  (fun x51 x53 x55 x57 x60 ->
    let CI.CPointer x61 = x60 in
    let CI.CPointer x56 = x55 in
    let CI.CPointer x54 = x53 in
    let CI.CPointer x52 = x51 in
    let x59 = x58 x57 in
    libgccjit_stubs_74_gcc_jit_block_add_assignment_op x52 x54 x56 x59 x61)
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function (CI.Pointer _, Function (CI.Pointer _, Returns CI.Void)))),
  "gcc_jit_block_add_assignment" ->
  (fun x62 x64 x66 x68 ->
    let CI.CPointer x69 = x68 in
    let CI.CPointer x67 = x66 in
    let CI.CPointer x65 = x64 in
    let CI.CPointer x63 = x62 in
    libgccjit_stubs_73_gcc_jit_block_add_assignment x63 x65 x67 x69)
| Function
    (CI.Pointer _,
     Function (CI.Pointer _, Function (CI.Pointer _, Returns CI.Void))),
  "gcc_jit_block_add_eval" ->
  (fun x70 x72 x74 ->
    let CI.CPointer x75 = x74 in
    let CI.CPointer x73 = x72 in
    let CI.CPointer x71 = x70 in
    libgccjit_stubs_72_gcc_jit_block_add_eval x71 x73 x75)
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _,
           Function
             (CI.View {CI.ty = CI.Pointer _; write = x83; _},
              Returns (CI.Pointer x86))))),
  "gcc_jit_function_new_local" ->
  (fun x76 x78 x80 x82 ->
    let CI.CPointer x85 = x83 x82 in
    let CI.CPointer x81 = x80 in
    let CI.CPointer x79 = x78 in
    let CI.CPointer x77 = x76 in
    let x84 = x85 in
    CI.make_ptr x86
      (libgccjit_stubs_71_gcc_jit_function_new_local x77 x79 x81 x84))
| Function (CI.Pointer _, Function (CI.Pointer _, Returns (CI.Pointer x91))),
  "gcc_jit_lvalue_get_address" ->
  (fun x87 x89 ->
    let CI.CPointer x90 = x89 in
    let CI.CPointer x88 = x87 in
    CI.make_ptr x91 (libgccjit_stubs_70_gcc_jit_lvalue_get_address x88 x90))
| Function (CI.Pointer _, Function (CI.Pointer _, Returns (CI.Pointer x96))),
  "gcc_jit_rvalue_dereference" ->
  (fun x92 x94 ->
    let CI.CPointer x95 = x94 in
    let CI.CPointer x93 = x92 in
    CI.make_ptr x96 (libgccjit_stubs_69_gcc_jit_rvalue_dereference x93 x95))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _, Function (CI.Pointer _, Returns (CI.Pointer x103)))),
  "gcc_jit_rvalue_dereference_field" ->
  (fun x97 x99 x101 ->
    let CI.CPointer x102 = x101 in
    let CI.CPointer x100 = x99 in
    let CI.CPointer x98 = x97 in
    CI.make_ptr x103
      (libgccjit_stubs_68_gcc_jit_rvalue_dereference_field x98 x100 x102))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _, Function (CI.Pointer _, Returns (CI.Pointer x110)))),
  "gcc_jit_rvalue_access_field" ->
  (fun x104 x106 x108 ->
    let CI.CPointer x109 = x108 in
    let CI.CPointer x107 = x106 in
    let CI.CPointer x105 = x104 in
    CI.make_ptr x110
      (libgccjit_stubs_67_gcc_jit_rvalue_access_field x105 x107 x109))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _, Function (CI.Pointer _, Returns (CI.Pointer x117)))),
  "gcc_jit_lvalue_access_field" ->
  (fun x111 x113 x115 ->
    let CI.CPointer x116 = x115 in
    let CI.CPointer x114 = x113 in
    let CI.CPointer x112 = x111 in
    CI.make_ptr x117
      (libgccjit_stubs_66_gcc_jit_lvalue_access_field x112 x114 x116))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _, Function (CI.Pointer _, Returns (CI.Pointer x126))))),
  "gcc_jit_context_new_array_access" ->
  (fun x118 x120 x122 x124 ->
    let CI.CPointer x125 = x124 in
    let CI.CPointer x123 = x122 in
    let CI.CPointer x121 = x120 in
    let CI.CPointer x119 = x118 in
    CI.make_ptr x126
      (libgccjit_stubs_65_gcc_jit_context_new_array_access x119 x121 x123
        x125))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _, Function (CI.Pointer _, Returns (CI.Pointer x135))))),
  "gcc_jit_context_new_cast" ->
  (fun x127 x129 x131 x133 ->
    let CI.CPointer x134 = x133 in
    let CI.CPointer x132 = x131 in
    let CI.CPointer x130 = x129 in
    let CI.CPointer x128 = x127 in
    CI.make_ptr x135
      (libgccjit_stubs_64_gcc_jit_context_new_cast x128 x130 x132 x134))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _,
           Function
             (CI.Primitive CI.Int,
              Function (CI.Pointer _, Returns (CI.Pointer x145)))))),
  "gcc_jit_context_new_call_through_ptr" ->
  (fun x136 x138 x140 x142 x143 ->
    let CI.CPointer x144 = x143 in
    let CI.CPointer x141 = x140 in
    let CI.CPointer x139 = x138 in
    let CI.CPointer x137 = x136 in
    CI.make_ptr x145
      (libgccjit_stubs_63_gcc_jit_context_new_call_through_ptr x137 x139 x141
       x142 x144))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _,
           Function
             (CI.Primitive CI.Int,
              Function (CI.Pointer _, Returns (CI.Pointer x155)))))),
  "gcc_jit_context_new_call" ->
  (fun x146 x148 x150 x152 x153 ->
    let CI.CPointer x154 = x153 in
    let CI.CPointer x151 = x150 in
    let CI.CPointer x149 = x148 in
    let CI.CPointer x147 = x146 in
    CI.make_ptr x155
      (libgccjit_stubs_62_gcc_jit_context_new_call x147 x149 x151 x152 x154))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x161; _},
           Function
             (CI.Pointer _,
              Function (CI.Pointer _, Returns (CI.Pointer x167)))))),
  "gcc_jit_context_new_comparison" ->
  (fun x156 x158 x160 x163 x165 ->
    let CI.CPointer x166 = x165 in
    let CI.CPointer x164 = x163 in
    let CI.CPointer x159 = x158 in
    let CI.CPointer x157 = x156 in
    let x162 = x161 x160 in
    CI.make_ptr x167
      (libgccjit_stubs_61_gcc_jit_context_new_comparison x157 x159 x162 x164
        x166))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x173; _},
           Function
             (CI.Pointer _,
              Function
                (CI.Pointer _,
                 Function (CI.Pointer _, Returns (CI.Pointer x181))))))),
  "gcc_jit_context_new_binary_op" ->
  (fun x168 x170 x172 x175 x177 x179 ->
    let CI.CPointer x180 = x179 in
    let CI.CPointer x178 = x177 in
    let CI.CPointer x176 = x175 in
    let CI.CPointer x171 = x170 in
    let CI.CPointer x169 = x168 in
    let x174 = x173 x172 in
    CI.make_ptr x181
      (libgccjit_stubs_60_gcc_jit_context_new_binary_op x169 x171 x174 x176
       x178 x180))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x187; _},
           Function
             (CI.Pointer _,
              Function (CI.Pointer _, Returns (CI.Pointer x193)))))),
  "gcc_jit_context_new_unary_op" ->
  (fun x182 x184 x186 x189 x191 ->
    let CI.CPointer x192 = x191 in
    let CI.CPointer x190 = x189 in
    let CI.CPointer x185 = x184 in
    let CI.CPointer x183 = x182 in
    let x188 = x187 x186 in
    CI.make_ptr x193
      (libgccjit_stubs_59_gcc_jit_context_new_unary_op x183 x185 x188 x190
        x192))
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Pointer _; write = x197; _},
        Returns (CI.Pointer x200))),
  "gcc_jit_context_new_string_literal" ->
  (fun x194 x196 ->
    let CI.CPointer x199 = x197 x196 in
    let CI.CPointer x195 = x194 in
    let x198 = x199 in
    CI.make_ptr x200
      (libgccjit_stubs_58_gcc_jit_context_new_string_literal x195 x198))
| Function (CI.Pointer _, Function (CI.Pointer _, Returns (CI.Pointer x205))),
  "gcc_jit_context_null" ->
  (fun x201 x203 ->
    let CI.CPointer x204 = x203 in
    let CI.CPointer x202 = x201 in
    CI.make_ptr x205 (libgccjit_stubs_57_gcc_jit_context_null x202 x204))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _, Function (CI.Pointer _, Returns (CI.Pointer x212)))),
  "gcc_jit_context_new_rvalue_from_ptr" ->
  (fun x206 x208 x210 ->
    let CI.CPointer x211 = x210 in
    let CI.CPointer x209 = x208 in
    let CI.CPointer x207 = x206 in
    CI.make_ptr x212
      (libgccjit_stubs_56_gcc_jit_context_new_rvalue_from_ptr x207 x209 x211))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function (CI.Primitive CI.Float, Returns (CI.Pointer x218)))),
  "gcc_jit_context_new_rvalue_from_double" ->
  (fun x213 x215 x217 ->
    let CI.CPointer x216 = x215 in
    let CI.CPointer x214 = x213 in
    CI.make_ptr x218
      (libgccjit_stubs_55_gcc_jit_context_new_rvalue_from_double x214 x216
        x217))
| Function (CI.Pointer _, Function (CI.Pointer _, Returns (CI.Pointer x223))),
  "gcc_jit_context_one" ->
  (fun x219 x221 ->
    let CI.CPointer x222 = x221 in
    let CI.CPointer x220 = x219 in
    CI.make_ptr x223 (libgccjit_stubs_54_gcc_jit_context_one x220 x222))
| Function (CI.Pointer _, Function (CI.Pointer _, Returns (CI.Pointer x228))),
  "gcc_jit_context_zero" ->
  (fun x224 x226 ->
    let CI.CPointer x227 = x226 in
    let CI.CPointer x225 = x224 in
    CI.make_ptr x228 (libgccjit_stubs_53_gcc_jit_context_zero x225 x227))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function (CI.Primitive CI.Int, Returns (CI.Pointer x234)))),
  "gcc_jit_context_new_rvalue_from_long" ->
  (fun x229 x231 x233 ->
    let CI.CPointer x232 = x231 in
    let CI.CPointer x230 = x229 in
    CI.make_ptr x234
      (libgccjit_stubs_52_gcc_jit_context_new_rvalue_from_long x230 x232
        x233))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function (CI.Primitive CI.Int, Returns (CI.Pointer x240)))),
  "gcc_jit_context_new_rvalue_from_int" ->
  (fun x235 x237 x239 ->
    let CI.CPointer x238 = x237 in
    let CI.CPointer x236 = x235 in
    CI.make_ptr x240
      (libgccjit_stubs_51_gcc_jit_context_new_rvalue_from_int x236 x238 x239))
| Function (CI.Pointer _, Returns (CI.Pointer x243)),
  "gcc_jit_rvalue_get_type" ->
  (fun x241 ->
    let CI.CPointer x242 = x241 in
    CI.make_ptr x243 (libgccjit_stubs_50_gcc_jit_rvalue_get_type x242))
| Function (CI.Pointer _, Returns (CI.Pointer x246)),
  "gcc_jit_rvalue_as_object" ->
  (fun x244 ->
    let CI.CPointer x245 = x244 in
    CI.make_ptr x246 (libgccjit_stubs_49_gcc_jit_rvalue_as_object x245))
| Function (CI.Pointer _, Returns (CI.Pointer x249)),
  "gcc_jit_lvalue_as_rvalue" ->
  (fun x247 ->
    let CI.CPointer x248 = x247 in
    CI.make_ptr x249 (libgccjit_stubs_48_gcc_jit_lvalue_as_rvalue x248))
| Function (CI.Pointer _, Returns (CI.Pointer x252)),
  "gcc_jit_lvalue_as_object" ->
  (fun x250 ->
    let CI.CPointer x251 = x250 in
    CI.make_ptr x252 (libgccjit_stubs_47_gcc_jit_lvalue_as_object x251))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x258; _},
           Function
             (CI.Pointer _,
              Function
                (CI.View {CI.ty = CI.Pointer _; write = x263; _},
                 Returns (CI.Pointer x266)))))),
  "gcc_jit_context_new_global" ->
  (fun x253 x255 x257 x260 x262 ->
    let CI.CPointer x265 = x263 x262 in
    let CI.CPointer x261 = x260 in
    let CI.CPointer x256 = x255 in
    let CI.CPointer x254 = x253 in
    let x259 = x258 x257 in
    let x264 = x265 in
    CI.make_ptr x266
      (libgccjit_stubs_46_gcc_jit_context_new_global x254 x256 x259 x261
        x264))
| Function (CI.Pointer _, Returns (CI.Pointer x269)),
  "gcc_jit_block_get_function" ->
  (fun x267 ->
    let CI.CPointer x268 = x267 in
    CI.make_ptr x269 (libgccjit_stubs_45_gcc_jit_block_get_function x268))
| Function (CI.Pointer _, Returns (CI.Pointer x272)),
  "gcc_jit_block_as_object" ->
  (fun x270 ->
    let CI.CPointer x271 = x270 in
    CI.make_ptr x272 (libgccjit_stubs_44_gcc_jit_block_as_object x271))
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Pointer _; write = x276; _},
        Returns (CI.Pointer x279))),
  "gcc_jit_function_new_block" ->
  (fun x273 x275 ->
    let CI.CPointer x278 = x276 x275 in
    let CI.CPointer x274 = x273 in
    let x277 = x278 in
    CI.make_ptr x279
      (libgccjit_stubs_43_gcc_jit_function_new_block x274 x277))
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Pointer _; write = x283; _}, Returns CI.Void)),
  "gcc_jit_function_dump_to_dot" ->
  (fun x280 x282 ->
    let CI.CPointer x285 = x283 x282 in
    let CI.CPointer x281 = x280 in
    let x284 = x285 in
    libgccjit_stubs_42_gcc_jit_function_dump_to_dot x281 x284)
| Function
    (CI.Pointer _, Function (CI.Primitive CI.Int, Returns (CI.Pointer x289))),
  "gcc_jit_function_get_param" ->
  (fun x286 x288 ->
    let CI.CPointer x287 = x286 in
    CI.make_ptr x289
      (libgccjit_stubs_41_gcc_jit_function_get_param x287 x288))
| Function (CI.Pointer _, Returns (CI.Pointer x292)),
  "gcc_jit_function_as_object" ->
  (fun x290 ->
    let CI.CPointer x291 = x290 in
    CI.make_ptr x292 (libgccjit_stubs_40_gcc_jit_function_as_object x291))
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Pointer _; write = x296; _},
        Returns (CI.Pointer x299))),
  "gcc_jit_context_get_builtin_function" ->
  (fun x293 x295 ->
    let CI.CPointer x298 = x296 x295 in
    let CI.CPointer x294 = x293 in
    let x297 = x298 in
    CI.make_ptr x299
      (libgccjit_stubs_39_gcc_jit_context_get_builtin_function x294 x297))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x305; _},
           Function
             (CI.Pointer _,
              Function
                (CI.View {CI.ty = CI.Pointer _; write = x310; _},
                 Function
                   (CI.Primitive CI.Int,
                    Function
                      (CI.Pointer _,
                       Function
                         (CI.Primitive CI.Int, Returns (CI.Pointer x317))))))))),
  "gcc_jit_context_new_function" ->
  (fun x300 x302 x304 x307 x309 x313 x314 x316 ->
    let CI.CPointer x315 = x314 in
    let CI.CPointer x312 = x310 x309 in
    let CI.CPointer x308 = x307 in
    let CI.CPointer x303 = x302 in
    let CI.CPointer x301 = x300 in
    let x306 = x305 x304 in
    let x311 = x312 in
    CI.make_ptr x317
      (libgccjit_stubs_38_gcc_jit_context_new_function x301 x303 x306 x308
       x311 x313 x315 x316))
| Function (CI.Pointer _, Returns (CI.Pointer x320)),
  "gcc_jit_param_as_rvalue" ->
  (fun x318 ->
    let CI.CPointer x319 = x318 in
    CI.make_ptr x320 (libgccjit_stubs_37_gcc_jit_param_as_rvalue x319))
| Function (CI.Pointer _, Returns (CI.Pointer x323)),
  "gcc_jit_param_as_lvalue" ->
  (fun x321 ->
    let CI.CPointer x322 = x321 in
    CI.make_ptr x323 (libgccjit_stubs_36_gcc_jit_param_as_lvalue x322))
| Function (CI.Pointer _, Returns (CI.Pointer x326)),
  "gcc_jit_param_as_object" ->
  (fun x324 ->
    let CI.CPointer x325 = x324 in
    CI.make_ptr x326 (libgccjit_stubs_35_gcc_jit_param_as_object x325))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _,
           Function
             (CI.View {CI.ty = CI.Pointer _; write = x334; _},
              Returns (CI.Pointer x337))))),
  "gcc_jit_context_new_param" ->
  (fun x327 x329 x331 x333 ->
    let CI.CPointer x336 = x334 x333 in
    let CI.CPointer x332 = x331 in
    let CI.CPointer x330 = x329 in
    let CI.CPointer x328 = x327 in
    let x335 = x336 in
    CI.make_ptr x337
      (libgccjit_stubs_34_gcc_jit_context_new_param x328 x330 x332 x335))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _,
           Function
             (CI.Primitive CI.Int,
              Function
                (CI.Pointer _,
                 Function (CI.Primitive CI.Int, Returns (CI.Pointer x348))))))),
  "gcc_jit_context_new_function_ptr_type" ->
  (fun x338 x340 x342 x344 x345 x347 ->
    let CI.CPointer x346 = x345 in
    let CI.CPointer x343 = x342 in
    let CI.CPointer x341 = x340 in
    let CI.CPointer x339 = x338 in
    CI.make_ptr x348
      (libgccjit_stubs_33_gcc_jit_context_new_function_ptr_type x339 x341
       x343 x344 x346 x347))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.View {CI.ty = CI.Pointer _; write = x354; _},
           Function
             (CI.Primitive CI.Int,
              Function (CI.Pointer _, Returns (CI.Pointer x360)))))),
  "gcc_jit_context_new_union_type" ->
  (fun x349 x351 x353 x357 x358 ->
    let CI.CPointer x359 = x358 in
    let CI.CPointer x356 = x354 x353 in
    let CI.CPointer x352 = x351 in
    let CI.CPointer x350 = x349 in
    let x355 = x356 in
    CI.make_ptr x360
      (libgccjit_stubs_32_gcc_jit_context_new_union_type x350 x352 x355 x357
        x359))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Primitive CI.Int, Function (CI.Pointer _, Returns CI.Void)))),
  "gcc_jit_struct_set_fields" ->
  (fun x361 x363 x365 x366 ->
    let CI.CPointer x367 = x366 in
    let CI.CPointer x364 = x363 in
    let CI.CPointer x362 = x361 in
    libgccjit_stubs_31_gcc_jit_struct_set_fields x362 x364 x365 x367)
| Function (CI.Pointer _, Returns (CI.Pointer x370)),
  "gcc_jit_struct_as_type" ->
  (fun x368 ->
    let CI.CPointer x369 = x368 in
    CI.make_ptr x370 (libgccjit_stubs_30_gcc_jit_struct_as_type x369))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.View {CI.ty = CI.Pointer _; write = x376; _},
           Returns (CI.Pointer x379)))),
  "gcc_jit_context_new_opaque_struct" ->
  (fun x371 x373 x375 ->
    let CI.CPointer x378 = x376 x375 in
    let CI.CPointer x374 = x373 in
    let CI.CPointer x372 = x371 in
    let x377 = x378 in
    CI.make_ptr x379
      (libgccjit_stubs_29_gcc_jit_context_new_opaque_struct x372 x374 x377))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.View {CI.ty = CI.Pointer _; write = x385; _},
           Function
             (CI.Primitive CI.Int,
              Function (CI.Pointer _, Returns (CI.Pointer x391)))))),
  "gcc_jit_context_new_struct_type" ->
  (fun x380 x382 x384 x388 x389 ->
    let CI.CPointer x390 = x389 in
    let CI.CPointer x387 = x385 x384 in
    let CI.CPointer x383 = x382 in
    let CI.CPointer x381 = x380 in
    let x386 = x387 in
    CI.make_ptr x391
      (libgccjit_stubs_28_gcc_jit_context_new_struct_type x381 x383 x386 x388
        x390))
| Function (CI.Pointer _, Returns (CI.Pointer x394)),
  "gcc_jit_field_as_object" ->
  (fun x392 ->
    let CI.CPointer x393 = x392 in
    CI.make_ptr x394 (libgccjit_stubs_27_gcc_jit_field_as_object x393))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _,
           Function
             (CI.View {CI.ty = CI.Pointer _; write = x402; _},
              Returns (CI.Pointer x405))))),
  "gcc_jit_context_new_field" ->
  (fun x395 x397 x399 x401 ->
    let CI.CPointer x404 = x402 x401 in
    let CI.CPointer x400 = x399 in
    let CI.CPointer x398 = x397 in
    let CI.CPointer x396 = x395 in
    let x403 = x404 in
    CI.make_ptr x405
      (libgccjit_stubs_26_gcc_jit_context_new_field x396 x398 x400 x403))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Pointer _,
           Function (CI.Primitive CI.Int, Returns (CI.Pointer x413))))),
  "gcc_jit_context_new_array_type" ->
  (fun x406 x408 x410 x412 ->
    let CI.CPointer x411 = x410 in
    let CI.CPointer x409 = x408 in
    let CI.CPointer x407 = x406 in
    CI.make_ptr x413
      (libgccjit_stubs_25_gcc_jit_context_new_array_type x407 x409 x411 x412))
| Function (CI.Pointer _, Returns (CI.Pointer x416)),
  "gcc_jit_type_get_volatile" ->
  (fun x414 ->
    let CI.CPointer x415 = x414 in
    CI.make_ptr x416 (libgccjit_stubs_24_gcc_jit_type_get_volatile x415))
| Function (CI.Pointer _, Returns (CI.Pointer x419)),
  "gcc_jit_type_get_const" ->
  (fun x417 ->
    let CI.CPointer x418 = x417 in
    CI.make_ptr x419 (libgccjit_stubs_23_gcc_jit_type_get_const x418))
| Function (CI.Pointer _, Returns (CI.Pointer x422)),
  "gcc_jit_type_get_pointer" ->
  (fun x420 ->
    let CI.CPointer x421 = x420 in
    CI.make_ptr x422 (libgccjit_stubs_22_gcc_jit_type_get_pointer x421))
| Function
    (CI.Pointer _,
     Function
       (CI.Primitive CI.Int,
        Function (CI.Primitive CI.Int, Returns (CI.Pointer x427)))),
  "gcc_jit_context_get_int_type" ->
  (fun x423 x425 x426 ->
    let CI.CPointer x424 = x423 in
    CI.make_ptr x427
      (libgccjit_stubs_21_gcc_jit_context_get_int_type x424 x425 x426))
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x431; _},
        Returns (CI.Pointer x433))),
  "gcc_jit_context_get_type" ->
  (fun x428 x430 ->
    let CI.CPointer x429 = x428 in
    let x432 = x431 x430 in
    CI.make_ptr x433 (libgccjit_stubs_20_gcc_jit_context_get_type x429 x432))
| Function (CI.Pointer _, Returns (CI.Pointer x436)),
  "gcc_jit_type_as_object" ->
  (fun x434 ->
    let CI.CPointer x435 = x434 in
    CI.make_ptr x436 (libgccjit_stubs_19_gcc_jit_type_as_object x435))
| Function (CI.Pointer _, Returns (CI.Pointer x439)),
  "gcc_jit_location_as_object" ->
  (fun x437 ->
    let CI.CPointer x438 = x437 in
    CI.make_ptr x439 (libgccjit_stubs_18_gcc_jit_location_as_object x438))
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Pointer _; write = x443; _},
        Function
          (CI.Primitive CI.Int,
           Function (CI.Primitive CI.Int, Returns (CI.Pointer x448))))),
  "gcc_jit_context_new_location" ->
  (fun x440 x442 x446 x447 ->
    let CI.CPointer x445 = x443 x442 in
    let CI.CPointer x441 = x440 in
    let x444 = x445 in
    CI.make_ptr x448
      (libgccjit_stubs_17_gcc_jit_context_new_location x441 x444 x446 x447))
| Function
    (CI.Pointer _,
     Returns (CI.View {CI.ty = CI.Pointer x451; read = x452; _})),
  "gcc_jit_object_get_debug_string" ->
  (fun x449 ->
    let CI.CPointer x450 = x449 in
    x452
    (CI.make_ptr x451
       (libgccjit_stubs_16_gcc_jit_object_get_debug_string x450)))
| Function (CI.Pointer _, Returns (CI.Pointer x455)),
  "gcc_jit_object_get_context" ->
  (fun x453 ->
    let CI.CPointer x454 = x453 in
    CI.make_ptr x455 (libgccjit_stubs_15_gcc_jit_object_get_context x454))
| Function (CI.Pointer _, Returns CI.Void), "gcc_jit_result_release" ->
  (fun x456 ->
    let CI.CPointer x457 = x456 in
    libgccjit_stubs_14_gcc_jit_result_release x457)
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Pointer _; write = x461; _},
        Returns (CI.Pointer x464))),
  "gcc_jit_result_get_global" ->
  (fun x458 x460 ->
    let CI.CPointer x463 = x461 x460 in
    let CI.CPointer x459 = x458 in
    let x462 = x463 in
    CI.make_ptr x464 (libgccjit_stubs_13_gcc_jit_result_get_global x459 x462))
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Pointer _; write = x468; _},
        Returns (CI.Pointer x471))),
  "gcc_jit_result_get_code" ->
  (fun x465 x467 ->
    let CI.CPointer x470 = x468 x467 in
    let CI.CPointer x466 = x465 in
    let x469 = x470 in
    CI.make_ptr x471 (libgccjit_stubs_12_gcc_jit_result_get_code x466 x469))
| Function
    (CI.Pointer _,
     Returns (CI.View {CI.ty = CI.Pointer x474; read = x475; _})),
  "gcc_jit_context_get_last_error" ->
  (fun x472 ->
    let CI.CPointer x473 = x472 in
    x475
    (CI.make_ptr x474
       (libgccjit_stubs_11_gcc_jit_context_get_last_error x473)))
| Function
    (CI.Pointer _,
     Returns (CI.View {CI.ty = CI.Pointer x478; read = x479; _})),
  "gcc_jit_context_get_first_error" ->
  (fun x476 ->
    let CI.CPointer x477 = x476 in
    x479
    (CI.make_ptr x478
       (libgccjit_stubs_10_gcc_jit_context_get_first_error x477)))
| Function
    (CI.Pointer _,
     Function
       (CI.Pointer _,
        Function
          (CI.Primitive CI.Int,
           Function (CI.Primitive CI.Int, Returns CI.Void)))),
  "gcc_jit_context_set_logfile" ->
  (fun x480 x482 x484 x485 ->
    let CI.CPointer x483 = x482 in
    let CI.CPointer x481 = x480 in
    libgccjit_stubs_9_gcc_jit_context_set_logfile x481 x483 x484 x485)
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Pointer _; write = x489; _},
        Function (CI.Primitive CI.Int, Returns CI.Void))),
  "gcc_jit_context_dump_to_file" ->
  (fun x486 x488 x492 ->
    let CI.CPointer x491 = x489 x488 in
    let CI.CPointer x487 = x486 in
    let x490 = x491 in
    libgccjit_stubs_8_gcc_jit_context_dump_to_file x487 x490 x492)
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x496; _},
        Function
          (CI.View {CI.ty = CI.Pointer _; write = x499; _}, Returns CI.Void))),
  "gcc_jit_context_compile_to_file" ->
  (fun x493 x495 x498 ->
    let CI.CPointer x501 = x499 x498 in
    let CI.CPointer x494 = x493 in
    let x497 = x496 x495 in
    let x500 = x501 in
    libgccjit_stubs_7_gcc_jit_context_compile_to_file x494 x497 x500)
| Function (CI.Pointer _, Returns (CI.Pointer x504)),
  "gcc_jit_context_compile" ->
  (fun x502 ->
    let CI.CPointer x503 = x502 in
    CI.make_ptr x504 (libgccjit_stubs_6_gcc_jit_context_compile x503))
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x508; _},
        Function (CI.Primitive CI.Bool, Returns CI.Void))),
  "gcc_jit_context_set_bool_option" ->
  (fun x505 x507 x510 ->
    let CI.CPointer x506 = x505 in
    let x509 = x508 x507 in
    libgccjit_stubs_5_gcc_jit_context_set_bool_option x506 x509 x510)
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x514; _},
        Function (CI.Primitive CI.Int, Returns CI.Void))),
  "gcc_jit_context_set_int_option" ->
  (fun x511 x513 x516 ->
    let CI.CPointer x512 = x511 in
    let x515 = x514 x513 in
    libgccjit_stubs_4_gcc_jit_context_set_int_option x512 x515 x516)
| Function
    (CI.Pointer _,
     Function
       (CI.View {CI.ty = CI.Primitive CI.Uint32_t; write = x520; _},
        Function
          (CI.View {CI.ty = CI.Pointer _; write = x523; _}, Returns CI.Void))),
  "gcc_jit_context_set_str_option" ->
  (fun x517 x519 x522 ->
    let CI.CPointer x525 = x523 x522 in
    let CI.CPointer x518 = x517 in
    let x521 = x520 x519 in
    let x524 = x525 in
    libgccjit_stubs_3_gcc_jit_context_set_str_option x518 x521 x524)
| Function (CI.Pointer _, Returns CI.Void), "gcc_jit_context_release" ->
  (fun x526 ->
    let CI.CPointer x527 = x526 in
    libgccjit_stubs_2_gcc_jit_context_release x527)
| Function (CI.Void, Returns (CI.Pointer x529)), "gcc_jit_context_acquire" ->
  (fun x528 ->
    CI.make_ptr x529 (libgccjit_stubs_1_gcc_jit_context_acquire x528))
| _, s ->  Printf.ksprintf failwith "No match for %s" s


let foreign_value : type a. string -> a Ctypes.typ -> a Ctypes.ptr =
  fun name t -> match t, name with
| _, s ->  Printf.ksprintf failwith "No match for %s" s