From 7b7e6fd49529adda020077baf962868136d7a005 Mon Sep 17 00:00:00 2001 From: lemon Date: Thu, 1 Sep 2022 11:30:27 +0200 Subject: replace instances of streq with == where strings are interned, this is ok. this was the intention of interning strings from the beginning. --- src/llvm.cff | 2 +- src/parse.cff | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/llvm.cff b/src/llvm.cff index 5bb39c5..bb07c77 100644 --- a/src/llvm.cff +++ b/src/llvm.cff @@ -1270,7 +1270,7 @@ struct GloblKeyTraits { return h; } fn eq(a GloblKey, b GloblKey) bool { - return streq(a.name, b.name) and a.externp == b.externp; + return a.name == b.name and a.externp == b.externp; } } static globls Map = {}; diff --git a/src/parse.cff b/src/parse.cff index f7dc651..14f7082 100644 --- a/src/parse.cff +++ b/src/parse.cff @@ -311,7 +311,7 @@ fn lex(P *Parser) Tok { if tok.t == :macident { for let ep = P.curexpan; ep; ep = ep.prev { foreach(arg, i, ep.args) { - if streq(tok.u.ident, arg.name) { + if tok.u.ident == arg.name { ++P.expanno; if ep.tepl { arg.toks[0].loc = tok.loc; @@ -732,7 +732,7 @@ fn parseagg(P *Parser, loc Loc, kind AggKind, name *const u8, retdecl **Decl) *c if decl { switch decl.u { case Ty ty; - if !ty->is(:Agg) or !ty.u.Agg.fwd or ty.u.Agg.kind != kind or !streq(ty.u.Agg.name, name) { + if !ty->is(:Agg) or !ty.u.Agg.fwd or ty.u.Agg.kind != kind or ty.u.Agg.name != name { decl = #null; } case else @@ -847,7 +847,7 @@ fn parseagg(P *Parser, loc Loc, kind AggKind, name *const u8, retdecl **Decl) *c fn findaggfield(ty *const Type, name *const u8) *AggField { foreach_ptr(fld, i, ty.u.Agg.flds) { - if streq(fld.name, name) { + if fld.name == name { return fld; } } @@ -856,7 +856,7 @@ fn findaggfield(ty *const Type, name *const u8) *AggField { fn findbitffield(ty *const Type, name *const u8) *BitFField { foreach_ptr(fld, i, ty.u.BitF.flds) { - if streq(fld.name, name) { + if fld.name == name { return fld; } } @@ -1620,7 +1620,7 @@ fn pexprimary(P *Parser) Expr { let i i64 #?; #'search do { foreach(val, _, ty.u.Enum.vals) { - if streq(val.name, name) { + if val.name == name { i = val.i; break #'search; } @@ -1778,7 +1778,7 @@ fn pexpostfix(P *Parser) Expr { case Agg *agg; let fld *AggField = #null; foreach(f, i, agg.flds) { - if streq(name, f.name) { + if name == f.name { fld = &agg.flds[i]; break; } @@ -1789,7 +1789,7 @@ fn pexpostfix(P *Parser) Expr { case BitF *bitf; let fld *BitFField = #null; foreach(f, i, bitf.flds) { - if streq(name, f.name) { + if name == f.name { fld = &bitf.flds[i]; break; } @@ -2970,7 +2970,7 @@ fn parsemacro(P *Parser, loc Loc, name *const u8) *Decl { } if tok.t == :ident { vec_each(par, _, params) { - if streq(par, tok.u.ident) { + if par == tok.u.ident { tok.t = :macident; } } @@ -2978,7 +2978,7 @@ fn parsemacro(P *Parser, loc Loc, name *const u8) *Decl { let gs *Gensyms #?; let found = #f; for gs = gensyms; gs; gs = gs.next { - if streq(gs.name, tok.u.ident) { + if gs.name == tok.u.ident { tok = gs.tok; found = #t; break; @@ -3065,7 +3065,7 @@ fn parsetepl(P *Parser, loc Loc, kind AggKind, name *const u8) Tepl { fatal(P, tok.loc, "unterminated template definiton"); case :ident; vec_each(par, _, params) { - if streq(par.name, tok.u.ident) { + if par.name == tok.u.ident { tok.t = :macident; } } -- cgit v1.2.3