]> Cypherpunks repositories - gostls13.git/commitdiff
hash/crc32: fix code generator to use the Go standard
authorOlivier Mengué <olivier.mengue@gmail.com>
Tue, 16 Jan 2024 22:30:12 +0000 (23:30 +0100)
committerGopher Robot <gobot@golang.org>
Mon, 19 Feb 2024 20:44:20 +0000 (20:44 +0000)
Apply the Go standard for code generation (https://go.dev/s/generatedcode)
to generated crc32_table_ppc64le.s despites this is not
generated Go but Assembly.  This is to help prevent changes like CL 478976
that changed the generated output without fixing the generator.

Add gen.go to allow to launch code generation with "go generate".

Change-Id: I8671284265425826c8620dbec055519b992fa04e
Reviewed-on: https://go-review.googlesource.com/c/go/+/556335
Auto-Submit: Michael Pratt <mpratt@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Commit-Queue: Ian Lance Taylor <iant@google.com>

src/hash/crc32/crc32_table_ppc64le.s
src/hash/crc32/gen.go [new file with mode: 0644]
src/hash/crc32/gen_const_ppc64le.go

index 453df12df4c36cfc4de904be846e932cfcdfc64f..eb9ab31a04124d8849c77f35905a2cb8cd4f579b 100644 (file)
@@ -1,5 +1,4 @@
-// autogenerated: do not edit!
-// generated from crc32/gen_const_ppc64le.go
+// Code generated by "go run gen_const_ppc64le.go"; DO NOT EDIT.
 
 #include "textflag.h"
 
diff --git a/src/hash/crc32/gen.go b/src/hash/crc32/gen.go
new file mode 100644 (file)
index 0000000..fb3040a
--- /dev/null
@@ -0,0 +1,7 @@
+// Copyright 2023 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:generate go run gen_const_ppc64le.go
+
+package crc32
index 4c1b79579fae05c85d2ae1cacc9823681e4dc9ea..9e51328118df2284c544ba12cb8f90bb22ce4c2f 100644 (file)
@@ -89,10 +89,10 @@ func xnmodp(n uint, poly uint64, deg uint) (uint64, uint64) {
 func main() {
        w := new(bytes.Buffer)
 
-       fmt.Fprintf(w, "// autogenerated: do not edit!\n")
-       fmt.Fprintf(w, "// generated from crc32/gen_const_ppc64le.go\n")
+       // Standard: https://go.dev/s/generatedcode
+       fmt.Fprintln(w, `// Code generated by "go run gen_const_ppc64le.go"; DO NOT EDIT.`)
        fmt.Fprintln(w)
-       fmt.Fprintf(w, "#include \"textflag.h\"\n")
+       fmt.Fprintln(w, `#include "textflag.h"`)
 
        // These are the polynomials supported in vector now.
        // If adding others, include the polynomial and a name
@@ -105,7 +105,7 @@ func main() {
 
        err := os.WriteFile("crc32_table_ppc64le.s", b, 0666)
        if err != nil {
-               fmt.Printf("can't write output: %s\n", err)
+               fmt.Fprintf(os.Stderr, "can't write output: %s\n", err)
        }
 }