meta: add ivy-diag library

ivy-diag is used for generating and emitting diagnostic messages during compilation.
This commit is contained in:
2025-05-08 10:48:23 +01:00
parent 8e8637882d
commit c459f50e67
13 changed files with 1151 additions and 0 deletions

26
diag/ctx.h Normal file
View File

@@ -0,0 +1,26 @@
#ifndef _DIAG_CTX_H_
#define _DIAG_CTX_H_
#include <blue/core/queue.h>
#include <ivy/diag.h>
struct ivy_line_source;
struct ivy_diag_ctx {
struct ivy_line_source *ctx_line_source;
const struct ivy_diag_class *ctx_classes;
size_t ctx_nr_classes;
const struct ivy_diag_msg *ctx_msg;
size_t ctx_nr_msg;
b_queue ctx_diags;
};
extern const struct ivy_diag_class *diag_ctx_get_class(
struct ivy_diag_ctx *ctx, unsigned long class_id);
extern const struct ivy_diag_msg *diag_ctx_get_msg(
struct ivy_diag_ctx *ctx, unsigned long msg_id);
#endif