aboutsummaryrefslogtreecommitdiff
path: root/src/parser.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.hpp')
-rw-r--r--src/parser.hpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/parser.hpp b/src/parser.hpp
index 3126e0a02..7433744e6 100644
--- a/src/parser.hpp
+++ b/src/parser.hpp
@@ -282,7 +282,8 @@ enum StateFlag : u8 {
StateFlag_type_assert = 1<<2,
StateFlag_no_type_assert = 1<<3,
- StateFlag_SelectorCallExpr = 1<<6,
+ StateFlag_SelectorCallExpr = 1<<5,
+ StateFlag_DirectiveWasFalse = 1<<6,
StateFlag_BeenHandled = 1<<7,
};
@@ -308,6 +309,10 @@ enum FieldFlag : u32 {
FieldFlag_Tags = 1<<10,
FieldFlag_Results = 1<<16,
+
+ FieldFlag_Unknown = 1u<<30,
+ FieldFlag_Invalid = 1u<<31,
+
// Parameter List Restrictions
FieldFlag_Signature = FieldFlag_ellipsis|FieldFlag_using|FieldFlag_no_alias|FieldFlag_c_vararg|FieldFlag_auto_cast|FieldFlag_const|FieldFlag_any_int|FieldFlag_by_ptr,
FieldFlag_Struct = FieldFlag_using|FieldFlag_subtype|FieldFlag_Tags,
@@ -335,7 +340,6 @@ char const *inline_asm_dialect_strings[InlineAsmDialect_COUNT] = {
enum UnionTypeKind : u8 {
UnionType_Normal = 0,
- UnionType_maybe = 1, // removed
UnionType_no_nil = 2,
UnionType_shared_nil = 3,
};
@@ -647,7 +651,8 @@ AST_KIND(_TypeBegin, "", bool) \
}) \
AST_KIND(PointerType, "pointer type", struct { \
Token token; \
- Ast *type; \
+ Ast *type; \
+ Ast *tag; \
}) \
AST_KIND(RelativeType, "relative type", struct { \
Ast *tag; \