Skip to content

Instantly share code, notes, and snippets.

@nobonobo
Created June 3, 2021 06:23
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nobonobo/167580ce4343ee48751ea37772816175 to your computer and use it in GitHub Desktop.
Save nobonobo/167580ce4343ee48751ea37772816175 to your computer and use it in GitHub Desktop.
32bitsアーキテクチャにて64bitsアラインミスマッチなフィールド定義を静的解析でチェックする方法

以下の様にすることで64bitsアラインをまたいでるフィールドがあれば警告が出るようになります。

go build -o checker ./checker.go
GOOS=linux GOARCH=arm go vet -vettool checker ...
// +build ignore
package main
import (
"golang.org/x/tools/go/analysis/multichecker"
"golang.org/x/tools/go/analysis/passes/atomicalign"
)
func main() { multichecker.Main(atomicalign.Analyzer) }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment