Skip to content

Commit 93b4787

Browse files
committed
fix(compiler,esc,tests): use topological sort for compiling structures
1 parent 105fac3 commit 93b4787

File tree

99 files changed

+841
-837
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+841
-837
lines changed

compiler/carpntr/build/program_code.c

Lines changed: 106 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -10,37 +10,11 @@
1010
#include "whereami.h"
1111
// YK:argparse,arrayutils,console,cpu,process,tinycthread,toml,whereami#
1212
#include "yk__lib.h"
13-
// --forward declarations--
14-
int32_t const yy__mutex_PLAIN = INT32_C(0);
15-
int32_t const yy__thread_SUCCESS = INT32_C(1);
16-
int32_t const yy__pool_IMMEDIATE_SHUTDOWN = INT32_C(1);
17-
int32_t const yy__pool_GRACEFUL_SHUTDOWN = INT32_C(2);
18-
int32_t const yy__pool_NO_SHUTDOWN = INT32_C(0);
19-
uint8_t const yy__pool_MAX_THREAD_SIZE = UINT8_C(64);
20-
uint32_t const yy__pool_MAX_QUEUE_SIZE = UINT32_C(65536);
21-
int32_t const yy__pool_ERROR_INVALID = INT32_C(10);
22-
int32_t const yy__pool_ERROR_LOCK_FAILURE = INT32_C(20);
23-
int32_t const yy__pool_ERROR_QUEUE_FULL = INT32_C(30);
24-
int32_t const yy__pool_ERROR_SHUTDOWN = INT32_C(40);
25-
int32_t const yy__pool_ERROR_THREAD_FAILURE = INT32_C(50);
26-
int32_t const yy__pool_SUCCESS = INT32_C(0);
27-
int32_t const yy__configuration_CLANG = INT32_C(44);
28-
int32_t const yy__configuration_GCC = INT32_C(33);
29-
int32_t const yy__configuration_NOT_FOUND = INT32_C(0);
30-
int32_t const yy__argparse_ARGPARSE_DEFAULT = INT32_C(0);
31-
struct yy__raylib_support_CObject;
32-
struct yy__raylib_support_BuildData;
3313
#define yy__cpu_Cpu struct yk__cpu_info
3414
#define yy__mutex_Mutex mtx_t
3515
#define yy__condition_Condition cnd_t
3616
#define yy__thread_Thread thrd_t
37-
struct yy__pool_ThreadPool;
3817
#define yy__buffer_StringBuffer yk__sds*
39-
struct yy__building_BObject;
40-
struct yy__configuration_CCode;
41-
struct yy__configuration_Project;
42-
struct yy__configuration_Compilation;
43-
struct yy__configuration_Config;
4418
#define yy__argparse_ArgParseRemainder struct yk__arg_remainder*
4519
#define yy__argparse_ArgParse struct argparse*
4620
#define yy__argparse_ArgParseWrapper struct yk__argparse_wrapper*
@@ -61,9 +35,113 @@ struct yy__configuration_Config;
6135
#define yy__os_Arguments struct yk__arguments*
6236
#define yy__os_get_args yk__get_args
6337
#define yy__os_ProcessResult struct yk__process_result*
64-
struct yt_tuple_fn_in_any_ptr_out_any_ptr;
65-
typedef int32_t (*yt_fn_in_any_ptr_out_int)(void*);
38+
int32_t const yy__mutex_PLAIN = INT32_C(0);
39+
int32_t const yy__thread_SUCCESS = INT32_C(1);
40+
int32_t const yy__pool_IMMEDIATE_SHUTDOWN = INT32_C(1);
41+
int32_t const yy__pool_GRACEFUL_SHUTDOWN = INT32_C(2);
42+
int32_t const yy__pool_NO_SHUTDOWN = INT32_C(0);
43+
uint8_t const yy__pool_MAX_THREAD_SIZE = UINT8_C(64);
44+
uint32_t const yy__pool_MAX_QUEUE_SIZE = UINT32_C(65536);
45+
int32_t const yy__pool_ERROR_INVALID = INT32_C(10);
46+
int32_t const yy__pool_ERROR_LOCK_FAILURE = INT32_C(20);
47+
int32_t const yy__pool_ERROR_QUEUE_FULL = INT32_C(30);
48+
int32_t const yy__pool_ERROR_SHUTDOWN = INT32_C(40);
49+
int32_t const yy__pool_ERROR_THREAD_FAILURE = INT32_C(50);
50+
int32_t const yy__pool_SUCCESS = INT32_C(0);
51+
int32_t const yy__configuration_CLANG = INT32_C(44);
52+
int32_t const yy__configuration_GCC = INT32_C(33);
53+
int32_t const yy__configuration_NOT_FOUND = INT32_C(0);
54+
int32_t const yy__argparse_ARGPARSE_DEFAULT = INT32_C(0);
55+
struct yy__building_BObject;
56+
struct yy__configuration_CCode;
57+
struct yy__configuration_Compilation;
58+
struct yy__configuration_Config;
59+
struct yy__configuration_Project;
60+
struct yy__pool_ThreadPool;
61+
struct yy__raylib_support_BuildData;
62+
struct yy__raylib_support_CObject;
6663
typedef void (*yt_fn_in_any_ptr_out)(void*);
64+
typedef int32_t (*yt_fn_in_any_ptr_out_int)(void*);
65+
struct yt_tuple_fn_in_any_ptr_out_any_ptr { yt_fn_in_any_ptr_out e1; void* e2; };
66+
struct yy__building_BObject {
67+
yk__sds* yy__building_args;
68+
yk__sds yy__building_c_file;
69+
yk__sds yy__building_object_file_path;
70+
bool yy__building_always_build;
71+
bool yy__building_print_info;
72+
};
73+
struct yy__configuration_CCode {
74+
yk__sds* yy__configuration_include_paths;
75+
yk__sds* yy__configuration_defines;
76+
yk__sds* yy__configuration_compiler_defines;
77+
yk__sds* yy__configuration_includes;
78+
yk__sds* yy__configuration_system_includes;
79+
yk__sds* yy__configuration_c_code;
80+
yk__sds* yy__configuration_cpp_code;
81+
yk__sds* yy__configuration_runtime_feature_defines;
82+
yk__sds* yy__configuration_runtime_feature_includes;
83+
yk__sds* yy__configuration_runtime_feature_c_code;
84+
yk__sds* yy__configuration_runtime_feature_compiler_defines;
85+
};
86+
struct yy__configuration_Compilation {
87+
bool yy__configuration_override_alloc;
88+
bool yy__configuration_only_ccode;
89+
yk__sds yy__configuration_libc;
90+
yk__sds yy__configuration_compiler;
91+
yk__sds* yy__configuration_targets;
92+
bool yy__configuration_raylib;
93+
bool yy__configuration_raylib_hot_reloading_dll;
94+
bool yy__configuration_web;
95+
yk__sds yy__configuration_web_shell;
96+
yk__sds yy__configuration_web_assets;
97+
bool yy__configuration_wasm4;
98+
bool yy__configuration_disable_parallel_build;
99+
};
100+
struct yy__configuration_Config {
101+
yk__sds yy__configuration_runtime_path;
102+
yk__sds yy__configuration_compiler_path;
103+
yk__sds yy__configuration_libs_path;
104+
yk__sds yy__configuration_zig_compiler_path;
105+
yk__sds yy__configuration_emcc_compiler_path;
106+
yk__sds yy__configuration_gcc_compiler_path;
107+
yk__sds yy__configuration_clang_compiler_path;
108+
int32_t yy__configuration_alt_compiler;
109+
bool yy__configuration_use_alt_compiler;
110+
yk__sds yy__configuration_emrun_path;
111+
yk__sds yy__configuration_w4_path;
112+
struct yy__configuration_CCode* yy__configuration_c_code;
113+
struct yy__configuration_Project* yy__configuration_project;
114+
struct yy__configuration_Compilation* yy__configuration_compilation;
115+
yk__sds* yy__configuration_errors;
116+
};
117+
struct yy__configuration_Project {
118+
yk__sds yy__configuration_main;
119+
yk__sds yy__configuration_name;
120+
yk__sds yy__configuration_author;
121+
};
122+
struct yy__pool_ThreadPool {
123+
yy__mutex_Mutex yy__pool_lock;
124+
yy__condition_Condition yy__pool_notify;
125+
yy__thread_Thread* yy__pool_threads;
126+
struct yt_tuple_fn_in_any_ptr_out_any_ptr* yy__pool_queue;
127+
int32_t yy__pool_thread_count;
128+
int32_t yy__pool_queue_size;
129+
int32_t yy__pool_head;
130+
int32_t yy__pool_tail;
131+
int32_t yy__pool_count;
132+
int32_t yy__pool_shutdown;
133+
int32_t yy__pool_started;
134+
};
135+
struct yy__raylib_support_BuildData {
136+
struct yy__raylib_support_CObject* yy__raylib_support_object_data;
137+
struct yy__configuration_Config* yy__raylib_support_config;
138+
};
139+
struct yy__raylib_support_CObject {
140+
yk__sds yy__raylib_support_c_file;
141+
yk__sds yy__raylib_support_o_file;
142+
yk__sds yy__raylib_support_base_name;
143+
yk__sds* yy__raylib_support_args;
144+
};
67145
struct yy__raylib_support_CObject* yy__raylib_support_fill_arguments(yk__sds, struct yy__raylib_support_CObject*, bool);
68146
struct yy__raylib_support_CObject* yy__raylib_support_fill_web_arguments(yk__sds, struct yy__raylib_support_CObject*);
69147
struct yy__raylib_support_CObject* yy__raylib_support_co(yk__sds, yk__sds, yk__sds, bool, bool);
@@ -199,88 +277,6 @@ int32_t yy__perform_build();
199277
int32_t yy__perform_mini_build(yk__sds, bool, bool, bool, yk__sds, yk__sds, bool, bool, bool, bool);
200278
int32_t yy__handle_args(yy__os_Arguments);
201279
int32_t yy__main();
202-
// --structs--
203-
struct yy__raylib_support_CObject {
204-
yk__sds yy__raylib_support_c_file;
205-
yk__sds yy__raylib_support_o_file;
206-
yk__sds yy__raylib_support_base_name;
207-
yk__sds* yy__raylib_support_args;
208-
};
209-
struct yy__raylib_support_BuildData {
210-
struct yy__raylib_support_CObject* yy__raylib_support_object_data;
211-
struct yy__configuration_Config* yy__raylib_support_config;
212-
};
213-
struct yy__pool_ThreadPool {
214-
yy__mutex_Mutex yy__pool_lock;
215-
yy__condition_Condition yy__pool_notify;
216-
yy__thread_Thread* yy__pool_threads;
217-
struct yt_tuple_fn_in_any_ptr_out_any_ptr* yy__pool_queue;
218-
int32_t yy__pool_thread_count;
219-
int32_t yy__pool_queue_size;
220-
int32_t yy__pool_head;
221-
int32_t yy__pool_tail;
222-
int32_t yy__pool_count;
223-
int32_t yy__pool_shutdown;
224-
int32_t yy__pool_started;
225-
};
226-
struct yy__building_BObject {
227-
yk__sds* yy__building_args;
228-
yk__sds yy__building_c_file;
229-
yk__sds yy__building_object_file_path;
230-
bool yy__building_always_build;
231-
bool yy__building_print_info;
232-
};
233-
struct yy__configuration_CCode {
234-
yk__sds* yy__configuration_include_paths;
235-
yk__sds* yy__configuration_defines;
236-
yk__sds* yy__configuration_compiler_defines;
237-
yk__sds* yy__configuration_includes;
238-
yk__sds* yy__configuration_system_includes;
239-
yk__sds* yy__configuration_c_code;
240-
yk__sds* yy__configuration_cpp_code;
241-
yk__sds* yy__configuration_runtime_feature_defines;
242-
yk__sds* yy__configuration_runtime_feature_includes;
243-
yk__sds* yy__configuration_runtime_feature_c_code;
244-
yk__sds* yy__configuration_runtime_feature_compiler_defines;
245-
};
246-
struct yy__configuration_Project {
247-
yk__sds yy__configuration_main;
248-
yk__sds yy__configuration_name;
249-
yk__sds yy__configuration_author;
250-
};
251-
struct yy__configuration_Compilation {
252-
bool yy__configuration_override_alloc;
253-
bool yy__configuration_only_ccode;
254-
yk__sds yy__configuration_libc;
255-
yk__sds yy__configuration_compiler;
256-
yk__sds* yy__configuration_targets;
257-
bool yy__configuration_raylib;
258-
bool yy__configuration_raylib_hot_reloading_dll;
259-
bool yy__configuration_web;
260-
yk__sds yy__configuration_web_shell;
261-
yk__sds yy__configuration_web_assets;
262-
bool yy__configuration_wasm4;
263-
bool yy__configuration_disable_parallel_build;
264-
};
265-
struct yy__configuration_Config {
266-
yk__sds yy__configuration_runtime_path;
267-
yk__sds yy__configuration_compiler_path;
268-
yk__sds yy__configuration_libs_path;
269-
yk__sds yy__configuration_zig_compiler_path;
270-
yk__sds yy__configuration_emcc_compiler_path;
271-
yk__sds yy__configuration_gcc_compiler_path;
272-
yk__sds yy__configuration_clang_compiler_path;
273-
int32_t yy__configuration_alt_compiler;
274-
bool yy__configuration_use_alt_compiler;
275-
yk__sds yy__configuration_emrun_path;
276-
yk__sds yy__configuration_w4_path;
277-
struct yy__configuration_CCode* yy__configuration_c_code;
278-
struct yy__configuration_Project* yy__configuration_project;
279-
struct yy__configuration_Compilation* yy__configuration_compilation;
280-
yk__sds* yy__configuration_errors;
281-
};
282-
struct yt_tuple_fn_in_any_ptr_out_any_ptr { yt_fn_in_any_ptr_out e1; void* e2; };
283-
// --functions--
284280
struct yy__raylib_support_CObject* yy__raylib_support_fill_arguments(yk__sds yy__raylib_support_src_path, struct yy__raylib_support_CObject* yy__raylib_support_c, bool yy__raylib_support_dll)
285281
{
286282
yk__sds* yy__raylib_support_args = NULL;

0 commit comments

Comments
 (0)