Recent activity

[PATCH harec 6/6] resolve: complete incomplete_declarations inplace 10 days ago

From Armin Weigl to ~sircmpwn/hare-dev

Signed-off-by: Armin Weigl <tb46305@gmail.com>
---
 include/check.h  |  12 ++---
 src/check.c      | 129 +++++++++++++++++++----------------------------
 src/type_store.c |   5 +-
 src/typedef.c    |   4 +-
 4 files changed, 62 insertions(+), 88 deletions(-)

diff --git a/include/check.h b/include/check.h
index f43fc49..c942c5f 100644
--- a/include/check.h
+++ b/include/check.h
@@ -118,7 +118,7 @@ struct incomplete_enum_field {
// Keeps track of context required to resolve a declaration or an enum field
[message trimmed]

[PATCH harec 5/6] resolve_*: reuse ident 10 days ago

From Armin Weigl to ~sircmpwn/hare-dev

Signed-off-by: Armin Weigl <tb46305@gmail.com>
---
 src/check.c | 70 +++++++++++++++++++++--------------------------------
 1 file changed, 28 insertions(+), 42 deletions(-)

diff --git a/src/check.c b/src/check.c
index b0d63f4..3692a9c 100644
--- a/src/check.c
+++ b/src/check.c
@@ -3533,8 +3533,10 @@ scan_types(struct context *ctx, struct scope *imp, struct ast_decl *decl)
}

const struct scope_object *
resolve_const(struct context *ctx, const struct ast_global_decl *decl)
[message trimmed]

[PATCH harec 4/6] scan_decl: insert @flag functions with empty name 10 days ago

From Armin Weigl to ~sircmpwn/hare-dev

Signed-off-by: Armin Weigl <tb46305@gmail.com>
---
 src/check.c | 45 +++++++++++++++++++++++++++------------------
 1 file changed, 27 insertions(+), 18 deletions(-)

diff --git a/src/check.c b/src/check.c
index da8edf0..b0d63f4 100644
--- a/src/check.c
+++ b/src/check.c
@@ -3432,6 +3432,19 @@ check_declarations(struct context *ctx,
	return next;
}

static struct incomplete_declaration *
[message trimmed]

[PATCH harec 3/6] resolvefn: accept incomplete_declaration instead of scope_object 10 days ago

From Armin Weigl to ~sircmpwn/hare-dev

Signed-off-by: Armin Weigl <tb46305@gmail.com>
---
 include/check.h    |  8 ++++----
 src/check.c        | 35 +++++++++++------------------------
 testmod/testmod.ha |  1 +
 tests/15-enums.ha  |  4 ++++
 4 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/include/check.h b/include/check.h
index 8cc3ca0..f43fc49 100644
--- a/include/check.h
+++ b/include/check.h
@@ -132,16 +132,16 @@ void mkident(struct context *ctx, struct identifier *out,
		const struct identifier *in, const char* symbol);
[message trimmed]

[PATCH harec 2/6] mkident: move in common code 10 days ago

From Armin Weigl to ~sircmpwn/hare-dev

Signed-off-by: Armin Weigl <tb46305@gmail.com>
---
 include/check.h  |  2 +-
 src/check.c      | 44 +++++++++++++++++---------------------------
 src/type_store.c |  2 +-
 3 files changed, 19 insertions(+), 29 deletions(-)

diff --git a/include/check.h b/include/check.h
index 7d71106..8cc3ca0 100644
--- a/include/check.h
+++ b/include/check.h
@@ -129,7 +129,7 @@ struct incomplete_declaration {
};

[message trimmed]

[PATCH harec 1/6] check: make phase naming more consistent 10 days ago

From Armin Weigl to ~sircmpwn/hare-dev

seperate check into three clearly defined parts

	scan: everything which creates incomplete declarations
		previously named scan_*_start or incomplete_*_create

	resolve: the recursive part of the actual type checker
		previously named scan_* or resolve_*

	check: the flattened part of the type checker
		unchanged

Signed-off-by: Armin Weigl <tb46305@gmail.com>
---
 src/check.c | 28 ++++++++++++++--------------
[message trimmed]

[PATCH harec v2] resolve_enum_alias: fix transitive module dependencies 26 days ago

From Armin Weigl to ~sircmpwn/hare-dev

splitting it up into two functions, 1. lookup_enum_type for recursively
checking whether a scope_object refers to an enum and returning the
referenced enum type. And 2. scan_enum_field_aliases for for creating
all enum field aliases (including those of non aliased enum types).

Fixes: https://todo.sr.ht/~sircmpwn/hare/734
Signed-off-by: Armin Weigl <tb46305@gmail.com>
---
v2:
	fixed a few more edge cases:
		stack overflow on cyclic aliases
		creating field aliases multiple times depending on resolution order
 src/check.c | 149 +++++++++++++++++++++++-----------------------------
 1 file changed, 65 insertions(+), 84 deletions(-)
[message trimmed]

[PATCH hare] gen-stdlib: unix::tty: fix dependencies a month ago

From Armin Weigl to ~sircmpwn/hare-dev

Signed-off-by: Armin Weigl <tb46305@gmail.com>
---
 scripts/gen-stdlib | 4 ++--
 stdlib.mk          | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/scripts/gen-stdlib b/scripts/gen-stdlib
index b631cc5a..4d25d114 100755
--- a/scripts/gen-stdlib
+++ b/scripts/gen-stdlib
@@ -1402,7 +1402,7 @@ unix_tty() {
		+linux/pty.ha \
		+linux/termios.ha \
		+linux/winsize.ha
[message trimmed]

[PATCH harec] resolve_enum_alias: almost fix 2 months ago

From Armin Weigl to ~sircmpwn/hare-dev

References: https://todo.sr.ht/~sircmpwn/hare/734
Signed-off-by: Armin Weigl <tb46305@gmail.com>
---
 src/check.c              | 133 ++++++++++++++++-----------------------
 tests/34-declarations.ha |   2 +-
 2 files changed, 55 insertions(+), 80 deletions(-)

diff --git a/src/check.c b/src/check.c
index a7777e0..9c3d3a4 100644
--- a/src/check.c
+++ b/src/check.c
@@ -3459,15 +3459,11 @@ incomplete_enum_field_create(struct context *ctx, struct scope *imports,
	};

[message trimmed]

[PATCH harec] tests/34-declarations: remove duplicate tests 2 months ago

From Armin Weigl to ~sircmpwn/hare-dev

Signed-off-by: Armin Weigl <tb46305@gmail.com>
---
 tests/34-declarations.ha | 2 --
 1 file changed, 2 deletions(-)

diff --git a/tests/34-declarations.ha b/tests/34-declarations.ha
index 9e9673d..584a480 100644
--- a/tests/34-declarations.ha
+++ b/tests/34-declarations.ha
@@ -206,8 +206,6 @@ fn sz() void = {

fn reject() void = {
	let failures = [
		"type a = b; type b = a;",
[message trimmed]