diff options
| author | Egon Elbre <egonelbre@gmail.com> | 2023-09-08 11:17:59 +0300 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2023-09-08 22:57:46 +0000 |
| commit | 2fe2f0854293e601bac60bb5d3aa6e276fadf084 (patch) | |
| tree | 2dffcfa04ab3bd5f58bd75d09f4576420c174ff4 /src/cmd/cgo | |
| parent | 2e7e1d2e8d96ddf2aff00feb645cfa94bc9e4786 (diff) | |
| download | go-2fe2f0854293e601bac60bb5d3aa6e276fadf084.tar.xz | |
cmd/cgo: silence unaligned-access
Clang 14+ introduced a warning when using mixed packed and unpacked structs.
This can cause problems when taking an address of the unpacked struct, which
may end up having a different alignment than expected.
This is not a problem in cgo, which does not take pointers from the packed
struct.
Fixes #62480
Change-Id: If5879eea5e1b77bc6dc7430f68f8c916bff9b090
Reviewed-on: https://go-review.googlesource.com/c/go/+/526915
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'src/cmd/cgo')
| -rw-r--r-- | src/cmd/cgo/out.go | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go index 8e1b5d62fd..ac68b77d19 100644 --- a/src/cmd/cgo/out.go +++ b/src/cmd/cgo/out.go @@ -910,6 +910,7 @@ func (p *Package) writeExports(fgo2, fm, fgcc, fgcch io.Writer) { fmt.Fprintf(fgcc, "#pragma GCC diagnostic ignored \"-Wunknown-pragmas\"\n") fmt.Fprintf(fgcc, "#pragma GCC diagnostic ignored \"-Wpragmas\"\n") fmt.Fprintf(fgcc, "#pragma GCC diagnostic ignored \"-Waddress-of-packed-member\"\n") + fmt.Fprintf(fgcc, "#pragma GCC diagnostic ignored \"-Wunaligned-access\"\n") fmt.Fprintf(fgcc, "extern void crosscall2(void (*fn)(void *), void *, int, size_t);\n") fmt.Fprintf(fgcc, "extern size_t _cgo_wait_runtime_init_done(void);\n") @@ -1522,6 +1523,7 @@ extern char* _cgo_topofstack(void); #pragma GCC diagnostic ignored "-Wunknown-pragmas" #pragma GCC diagnostic ignored "-Wpragmas" #pragma GCC diagnostic ignored "-Waddress-of-packed-member" +#pragma GCC diagnostic ignored "-Wunaligned-access" #include <errno.h> #include <string.h> |
