tools/go/analysis
Aurélien Rainone 24cd39ecf7 go/analysis/passes/atomicalign: add atomicalign ckecker
The atomicalign Analyzer checks the alignment of 64-bits variables
accessed atomically via sync/atomic functions on 32-bits
architectures. Per the sync/atomic BUG note those variables must
be 64-bits aligned, otherwise a runtime panic is issued.

The analyzer only shows and runs on 32-bits architectures.

This CL should not introduce any false positives.

Add some tests in testdata/src/a to verify the analyzer behavior
on affected architectures plus some very basic test to verify that
no warning is generated on non-affected ones.

Fixes golang/go#11891

Change-Id: I02cfc574883564cd2a213a92d33bda3cc9a1ea98
Reviewed-on: https://go-review.googlesource.com/c/158277
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
2019-01-21 14:31:47 +00:00
..
analysistest go/analysis/cmd/analyze: install all analyzers 2018-10-19 17:03:54 +00:00
cmd/vet go/analysis/passes/atomicalign: add atomicalign ckecker 2019-01-21 14:31:47 +00:00
internal go/{analysis,packages}: add TypesSizes 2019-01-17 19:41:23 +00:00
multichecker go/analysis/unitchecker: a main function for vet-lite tools 2018-11-15 16:00:22 +00:00
passes go/analysis/passes/atomicalign: add atomicalign ckecker 2019-01-21 14:31:47 +00:00
singlechecker go/analysis/unitchecker: a main function for vet-lite tools 2018-11-15 16:00:22 +00:00
unitchecker go/{analysis,packages}: add TypesSizes 2019-01-17 19:41:23 +00:00
analysis.go go/{analysis,packages}: add TypesSizes 2019-01-17 19:41:23 +00:00
doc.go go/analysis: fix typos and update documentation 2019-01-11 18:03:38 +00:00
validate.go go/analysis: validate: report duplicates among analyzers (roots) 2018-10-11 19:55:00 +00:00