mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-01 17:51:48 -07:00
Remove dead code; Fix issue regarding order of evaluation of function parameters (in C++) depending on the compiler (clang vs gcc vs msvc)
This commit is contained in:
+28
-42
@@ -169,23 +169,23 @@ Array<AstNode *> make_ast_node_array(AstFile *f, isize init_capacity = 8) {
|
||||
Token token; \
|
||||
}) \
|
||||
AST_NODE_KIND(BasicDirective, "basic directive", struct { \
|
||||
Token token; \
|
||||
Token token; \
|
||||
String name; \
|
||||
}) \
|
||||
AST_NODE_KIND(Ellipsis, "ellipsis", struct { \
|
||||
Token token; \
|
||||
Token token; \
|
||||
AstNode *expr; \
|
||||
}) \
|
||||
AST_NODE_KIND(ProcGroup, "procedure group", struct { \
|
||||
Token token; \
|
||||
Token open; \
|
||||
Token close; \
|
||||
Token token; \
|
||||
Token open; \
|
||||
Token close; \
|
||||
Array<AstNode *> args; \
|
||||
}) \
|
||||
AST_NODE_KIND(ProcLit, "procedure literal", struct { \
|
||||
AstNode *type; \
|
||||
AstNode *body; \
|
||||
u64 tags; \
|
||||
AstNode * type; \
|
||||
AstNode * body; \
|
||||
u64 tags; \
|
||||
ProcInlining inlining; \
|
||||
}) \
|
||||
AST_NODE_KIND(CompoundLit, "compound literal", struct { \
|
||||
@@ -193,7 +193,7 @@ Array<AstNode *> make_ast_node_array(AstFile *f, isize init_capacity = 8) {
|
||||
Array<AstNode *> elems; \
|
||||
Token open, close; \
|
||||
}) \
|
||||
AST_NODE_KIND(_ExprBegin, "", i32) \
|
||||
AST_NODE_KIND(_ExprBegin, "", struct {}) \
|
||||
AST_NODE_KIND(BadExpr, "bad expression", struct { Token begin, end; }) \
|
||||
AST_NODE_KIND(TagExpr, "tag expression", struct { Token token, name; AstNode *expr; }) \
|
||||
AST_NODE_KIND(RunExpr, "run expression", struct { Token token, name; AstNode *expr; }) \
|
||||
@@ -220,8 +220,8 @@ AST_NODE_KIND(_ExprBegin, "", i32) \
|
||||
AST_NODE_KIND(TernaryExpr, "ternary expression", struct { AstNode *cond, *x, *y; }) \
|
||||
AST_NODE_KIND(TypeAssertion, "type assertion", struct { AstNode *expr; Token dot; AstNode *type; }) \
|
||||
AST_NODE_KIND(TypeCast, "type cast", struct { Token token; AstNode *type, *expr; }) \
|
||||
AST_NODE_KIND(_ExprEnd, "", i32) \
|
||||
AST_NODE_KIND(_StmtBegin, "", i32) \
|
||||
AST_NODE_KIND(_ExprEnd, "", struct {}) \
|
||||
AST_NODE_KIND(_StmtBegin, "", struct {}) \
|
||||
AST_NODE_KIND(BadStmt, "bad statement", struct { Token begin, end; }) \
|
||||
AST_NODE_KIND(EmptyStmt, "empty statement", struct { Token token; }) \
|
||||
AST_NODE_KIND(ExprStmt, "expression statement", struct { AstNode *expr; } ) \
|
||||
@@ -238,7 +238,7 @@ AST_NODE_KIND(_StmtBegin, "", i32) \
|
||||
Token op; \
|
||||
AstNode *expr; \
|
||||
}) \
|
||||
AST_NODE_KIND(_ComplexStmtBegin, "", i32) \
|
||||
AST_NODE_KIND(_ComplexStmtBegin, "", struct {}) \
|
||||
AST_NODE_KIND(BlockStmt, "block statement", struct { \
|
||||
Array<AstNode *> stmts; \
|
||||
Token open, close; \
|
||||
@@ -310,28 +310,14 @@ AST_NODE_KIND(_ComplexStmtBegin, "", i32) \
|
||||
Token in_token; \
|
||||
AstNode *expr; \
|
||||
}) \
|
||||
AST_NODE_KIND(AsmOperand, "assembly operand", struct { \
|
||||
Token string; \
|
||||
AstNode *operand; \
|
||||
}) \
|
||||
AST_NODE_KIND(AsmStmt, "assembly statement", struct { \
|
||||
Token token; \
|
||||
bool is_volatile; \
|
||||
Token open, close; \
|
||||
Token code_string; \
|
||||
AstNode *output_list; \
|
||||
AstNode *input_list; \
|
||||
AstNode *clobber_list; \
|
||||
isize output_count, input_count, clobber_count; \
|
||||
}) \
|
||||
AST_NODE_KIND(PushContext, "context <- statement", struct { \
|
||||
Token token; \
|
||||
AstNode *expr; \
|
||||
AstNode *body; \
|
||||
}) \
|
||||
AST_NODE_KIND(_ComplexStmtEnd, "", i32) \
|
||||
AST_NODE_KIND(_StmtEnd, "", i32) \
|
||||
AST_NODE_KIND(_DeclBegin, "", i32) \
|
||||
AST_NODE_KIND(_ComplexStmtEnd, "", struct {}) \
|
||||
AST_NODE_KIND(_StmtEnd, "", struct {}) \
|
||||
AST_NODE_KIND(_DeclBegin, "", struct {}) \
|
||||
AST_NODE_KIND(BadDecl, "bad declaration", struct { Token begin, end; }) \
|
||||
AST_NODE_KIND(ForeignBlockDecl, "foreign block declaration", struct { \
|
||||
Token token; \
|
||||
@@ -339,8 +325,8 @@ AST_NODE_KIND(_DeclBegin, "", i32) \
|
||||
Token open, close; \
|
||||
Array<AstNode *> decls; \
|
||||
Array<AstNode *> attributes; \
|
||||
bool been_handled; \
|
||||
CommentGroup docs; \
|
||||
bool been_handled; \
|
||||
}) \
|
||||
AST_NODE_KIND(Label, "label", struct { \
|
||||
Token token; \
|
||||
@@ -350,12 +336,12 @@ AST_NODE_KIND(_DeclBegin, "", i32) \
|
||||
Array<AstNode *> names; \
|
||||
AstNode * type; \
|
||||
Array<AstNode *> values; \
|
||||
bool is_using; \
|
||||
bool is_mutable; \
|
||||
bool been_handled; \
|
||||
Array<AstNode *> attributes; \
|
||||
CommentGroup docs; \
|
||||
CommentGroup comment; \
|
||||
bool is_using; \
|
||||
bool is_mutable; \
|
||||
bool been_handled; \
|
||||
}) \
|
||||
AST_NODE_KIND(ImportDecl, "import declaration", struct { \
|
||||
AstFile *file; \
|
||||
@@ -363,21 +349,21 @@ AST_NODE_KIND(_DeclBegin, "", i32) \
|
||||
Token relpath; \
|
||||
String fullpath; \
|
||||
Token import_name; \
|
||||
bool is_using; \
|
||||
bool been_handled; \
|
||||
Array<AstNode *> using_in_list; \
|
||||
CommentGroup docs; \
|
||||
CommentGroup comment; \
|
||||
bool is_using; \
|
||||
bool been_handled; \
|
||||
}) \
|
||||
AST_NODE_KIND(ExportDecl, "export declaration", struct { \
|
||||
AstFile *file; \
|
||||
Token token; \
|
||||
Token relpath; \
|
||||
String fullpath; \
|
||||
bool been_handled; \
|
||||
Array<AstNode *> using_in_list; \
|
||||
CommentGroup docs; \
|
||||
CommentGroup comment; \
|
||||
bool been_handled; \
|
||||
}) \
|
||||
AST_NODE_KIND(ForeignImportDecl, "foreign import declaration", struct { \
|
||||
Token token; \
|
||||
@@ -386,11 +372,11 @@ AST_NODE_KIND(_DeclBegin, "", i32) \
|
||||
String base_dir; \
|
||||
String collection_name; \
|
||||
String fullpath; \
|
||||
bool been_handled; \
|
||||
CommentGroup docs; \
|
||||
CommentGroup comment; \
|
||||
bool been_handled; \
|
||||
}) \
|
||||
AST_NODE_KIND(_DeclEnd, "", i32) \
|
||||
AST_NODE_KIND(_DeclEnd, "", struct {}) \
|
||||
AST_NODE_KIND(Attribute, "attribute", struct { \
|
||||
Token token; \
|
||||
AstNode *type; \
|
||||
@@ -413,7 +399,7 @@ AST_NODE_KIND(_DeclEnd, "", i32) \
|
||||
AstNode *name; \
|
||||
AstNode *list; \
|
||||
}) \
|
||||
AST_NODE_KIND(_TypeBegin, "", i32) \
|
||||
AST_NODE_KIND(_TypeBegin, "", struct {}) \
|
||||
AST_NODE_KIND(TypeType, "type", struct { \
|
||||
Token token; \
|
||||
AstNode *specialization; \
|
||||
@@ -457,9 +443,9 @@ AST_NODE_KIND(_TypeBegin, "", i32) \
|
||||
Array<AstNode *> fields; \
|
||||
isize field_count; \
|
||||
AstNode * polymorphic_params; \
|
||||
AstNode * align; \
|
||||
bool is_packed; \
|
||||
bool is_raw_union; \
|
||||
AstNode * align; \
|
||||
}) \
|
||||
AST_NODE_KIND(UnionType, "union type", struct { \
|
||||
Token token; \
|
||||
@@ -469,8 +455,8 @@ AST_NODE_KIND(_TypeBegin, "", i32) \
|
||||
AST_NODE_KIND(EnumType, "enum type", struct { \
|
||||
Token token; \
|
||||
AstNode * base_type; \
|
||||
bool is_export; \
|
||||
Array<AstNode *> fields; /* FieldValue */ \
|
||||
bool is_export; \
|
||||
}) \
|
||||
AST_NODE_KIND(BitFieldType, "bit field type", struct { \
|
||||
Token token; \
|
||||
@@ -483,7 +469,7 @@ AST_NODE_KIND(_TypeBegin, "", i32) \
|
||||
AstNode *key; \
|
||||
AstNode *value; \
|
||||
}) \
|
||||
AST_NODE_KIND(_TypeEnd, "", i32)
|
||||
AST_NODE_KIND(_TypeEnd, "", struct {})
|
||||
|
||||
enum AstNodeKind {
|
||||
AstNode_Invalid,
|
||||
|
||||
Reference in New Issue
Block a user