fix(selfhost): resolve segfault in buxc2 compiling src/
- Replace Decl's 256 inline struct fields with dynamic fields: *StructField array to avoid parser field limit truncation and name shifts. - Update parser.bux and hir_lower.bux to use decl.fields[i]. - Fix uninitialized Symbol.refType in three stack-allocated Symbol sites: loopSym (for-loop iterator), vSym (enum variants), and HIR param sym. Garbage refType values (e.g. 0xFF) were leaking into scope tables, later copied to expr->refType, causing SIGSEGV in Lcx_LowerExpr.
This commit is contained in:
+2
-257
@@ -243,6 +243,8 @@ struct EnumVariant {
|
||||
}
|
||||
|
||||
struct Decl {
|
||||
fieldCount: int,
|
||||
fields: *StructField,
|
||||
kind: int,
|
||||
line: uint32,
|
||||
column: uint32,
|
||||
@@ -299,263 +301,6 @@ struct Decl {
|
||||
childDecl1: *Decl, // linked list of decls (for module items, impl methods)
|
||||
childDecl2: *Decl,
|
||||
// Struct fields (up to 256)
|
||||
fieldCount: int,
|
||||
field0: StructField,
|
||||
field1: StructField,
|
||||
field2: StructField,
|
||||
field3: StructField,
|
||||
field4: StructField,
|
||||
field5: StructField,
|
||||
field6: StructField,
|
||||
field7: StructField,
|
||||
field8: StructField,
|
||||
field9: StructField,
|
||||
field10: StructField,
|
||||
field11: StructField,
|
||||
field12: StructField,
|
||||
field13: StructField,
|
||||
field14: StructField,
|
||||
field15: StructField,
|
||||
field16: StructField,
|
||||
field17: StructField,
|
||||
field18: StructField,
|
||||
field19: StructField,
|
||||
field20: StructField,
|
||||
field21: StructField,
|
||||
field22: StructField,
|
||||
field23: StructField,
|
||||
field24: StructField,
|
||||
field25: StructField,
|
||||
field26: StructField,
|
||||
field27: StructField,
|
||||
field28: StructField,
|
||||
field29: StructField,
|
||||
field30: StructField,
|
||||
field31: StructField,
|
||||
field32: StructField,
|
||||
field33: StructField,
|
||||
field34: StructField,
|
||||
field35: StructField,
|
||||
field36: StructField,
|
||||
field37: StructField,
|
||||
field38: StructField,
|
||||
field39: StructField,
|
||||
field40: StructField,
|
||||
field41: StructField,
|
||||
field42: StructField,
|
||||
field43: StructField,
|
||||
field44: StructField,
|
||||
field45: StructField,
|
||||
field46: StructField,
|
||||
field47: StructField,
|
||||
field48: StructField,
|
||||
field49: StructField,
|
||||
field50: StructField,
|
||||
field51: StructField,
|
||||
field52: StructField,
|
||||
field53: StructField,
|
||||
field54: StructField,
|
||||
field55: StructField,
|
||||
field56: StructField,
|
||||
field57: StructField,
|
||||
field58: StructField,
|
||||
field59: StructField,
|
||||
field60: StructField,
|
||||
field61: StructField,
|
||||
field62: StructField,
|
||||
field63: StructField,
|
||||
field64: StructField,
|
||||
field65: StructField,
|
||||
field66: StructField,
|
||||
field67: StructField,
|
||||
field68: StructField,
|
||||
field69: StructField,
|
||||
field70: StructField,
|
||||
field71: StructField,
|
||||
field72: StructField,
|
||||
field73: StructField,
|
||||
field74: StructField,
|
||||
field75: StructField,
|
||||
field76: StructField,
|
||||
field77: StructField,
|
||||
field78: StructField,
|
||||
field79: StructField,
|
||||
field80: StructField,
|
||||
field81: StructField,
|
||||
field82: StructField,
|
||||
field83: StructField,
|
||||
field84: StructField,
|
||||
field85: StructField,
|
||||
field86: StructField,
|
||||
field87: StructField,
|
||||
field88: StructField,
|
||||
field89: StructField,
|
||||
field90: StructField,
|
||||
field91: StructField,
|
||||
field92: StructField,
|
||||
field93: StructField,
|
||||
field94: StructField,
|
||||
field95: StructField,
|
||||
field96: StructField,
|
||||
field97: StructField,
|
||||
field98: StructField,
|
||||
field99: StructField,
|
||||
field100: StructField,
|
||||
field101: StructField,
|
||||
field102: StructField,
|
||||
field103: StructField,
|
||||
field104: StructField,
|
||||
field105: StructField,
|
||||
field106: StructField,
|
||||
field107: StructField,
|
||||
field108: StructField,
|
||||
field109: StructField,
|
||||
field110: StructField,
|
||||
field111: StructField,
|
||||
field112: StructField,
|
||||
field113: StructField,
|
||||
field114: StructField,
|
||||
field115: StructField,
|
||||
field116: StructField,
|
||||
field117: StructField,
|
||||
field118: StructField,
|
||||
field119: StructField,
|
||||
field120: StructField,
|
||||
field121: StructField,
|
||||
field122: StructField,
|
||||
field123: StructField,
|
||||
field124: StructField,
|
||||
field125: StructField,
|
||||
field126: StructField,
|
||||
field127: StructField,
|
||||
field128: StructField,
|
||||
field129: StructField,
|
||||
field130: StructField,
|
||||
field131: StructField,
|
||||
field132: StructField,
|
||||
field133: StructField,
|
||||
field134: StructField,
|
||||
field135: StructField,
|
||||
field136: StructField,
|
||||
field137: StructField,
|
||||
field138: StructField,
|
||||
field139: StructField,
|
||||
field140: StructField,
|
||||
field141: StructField,
|
||||
field142: StructField,
|
||||
field143: StructField,
|
||||
field144: StructField,
|
||||
field145: StructField,
|
||||
field146: StructField,
|
||||
field147: StructField,
|
||||
field148: StructField,
|
||||
field149: StructField,
|
||||
field150: StructField,
|
||||
field151: StructField,
|
||||
field152: StructField,
|
||||
field153: StructField,
|
||||
field154: StructField,
|
||||
field155: StructField,
|
||||
field156: StructField,
|
||||
field157: StructField,
|
||||
field158: StructField,
|
||||
field159: StructField,
|
||||
field160: StructField,
|
||||
field161: StructField,
|
||||
field162: StructField,
|
||||
field163: StructField,
|
||||
field164: StructField,
|
||||
field165: StructField,
|
||||
field166: StructField,
|
||||
field167: StructField,
|
||||
field168: StructField,
|
||||
field169: StructField,
|
||||
field170: StructField,
|
||||
field171: StructField,
|
||||
field172: StructField,
|
||||
field173: StructField,
|
||||
field174: StructField,
|
||||
field175: StructField,
|
||||
field176: StructField,
|
||||
field177: StructField,
|
||||
field178: StructField,
|
||||
field179: StructField,
|
||||
field180: StructField,
|
||||
field181: StructField,
|
||||
field182: StructField,
|
||||
field183: StructField,
|
||||
field184: StructField,
|
||||
field185: StructField,
|
||||
field186: StructField,
|
||||
field187: StructField,
|
||||
field188: StructField,
|
||||
field189: StructField,
|
||||
field190: StructField,
|
||||
field191: StructField,
|
||||
field192: StructField,
|
||||
field193: StructField,
|
||||
field194: StructField,
|
||||
field195: StructField,
|
||||
field196: StructField,
|
||||
field197: StructField,
|
||||
field198: StructField,
|
||||
field199: StructField,
|
||||
field200: StructField,
|
||||
field201: StructField,
|
||||
field202: StructField,
|
||||
field203: StructField,
|
||||
field204: StructField,
|
||||
field205: StructField,
|
||||
field206: StructField,
|
||||
field207: StructField,
|
||||
field208: StructField,
|
||||
field209: StructField,
|
||||
field210: StructField,
|
||||
field211: StructField,
|
||||
field212: StructField,
|
||||
field213: StructField,
|
||||
field214: StructField,
|
||||
field215: StructField,
|
||||
field216: StructField,
|
||||
field217: StructField,
|
||||
field218: StructField,
|
||||
field219: StructField,
|
||||
field220: StructField,
|
||||
field221: StructField,
|
||||
field222: StructField,
|
||||
field223: StructField,
|
||||
field224: StructField,
|
||||
field225: StructField,
|
||||
field226: StructField,
|
||||
field227: StructField,
|
||||
field228: StructField,
|
||||
field229: StructField,
|
||||
field230: StructField,
|
||||
field231: StructField,
|
||||
field232: StructField,
|
||||
field233: StructField,
|
||||
field234: StructField,
|
||||
field235: StructField,
|
||||
field236: StructField,
|
||||
field237: StructField,
|
||||
field238: StructField,
|
||||
field239: StructField,
|
||||
field240: StructField,
|
||||
field241: StructField,
|
||||
field242: StructField,
|
||||
field243: StructField,
|
||||
field244: StructField,
|
||||
field245: StructField,
|
||||
field246: StructField,
|
||||
field247: StructField,
|
||||
field248: StructField,
|
||||
field249: StructField,
|
||||
field250: StructField,
|
||||
field251: StructField,
|
||||
field252: StructField,
|
||||
field253: StructField,
|
||||
field254: StructField,
|
||||
field255: StructField,
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user