diff options
author | Himbeer <himbeer@disroot.org> | 2024-08-30 12:04:02 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-08-30 12:04:02 +0200 |
commit | 22786e52f6ed94424491660e33effd7173fd9279 (patch) | |
tree | c31578c809ab1088014a296a59bdea922e2e47e5 | |
parent | 4bfdd92015153c79c7a069c085b5fb0e4cc6bfaf (diff) |
Fix string literal definition insertion location
-rw-r--r-- | generate.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/generate.go b/generate.go index 3e21a0c..94f577d 100644 --- a/generate.go +++ b/generate.go @@ -38,11 +38,15 @@ func allocString(s string, w io.Writer) string { reg := allocGlobal() stringLiterals[s] = reg - fmt.Fprintf(w, "data %s = { %q }", reg, s) - return reg } +func generateStringLiterals(w io.Writer) { + for s, reg := range stringLiterals { + fmt.Fprintf(w, "data %s = { b %q }\n", reg, s) + } +} + type invalidToplevel struct { got expression } @@ -59,6 +63,8 @@ func generate(root *rootExpr, w io.Writer, errs chan<- error) { errs <- err } } + + generateStringLiterals(w) } func generateToplevel(toplevel expression, w io.Writer) error { |