]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.11] cmd/cgo: ignore unrecognized GCC warning group pragmas
authorYuval Pavel Zholkover <paulzhol@gmail.com>
Fri, 1 Feb 2019 11:51:31 +0000 (13:51 +0200)
committerBrad Fitzpatrick <bradfitz@golang.org>
Fri, 1 Feb 2019 21:24:29 +0000 (21:24 +0000)
CL 159859 causes build failure with old clang versions (3.4.1) on FreeBSD 10.3/10.4.

Update #29962

Reviewed-on: https://go-review.googlesource.com/c/160777
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
(cherry picked from commit 6f4dc1ccf9735013fdb7cd044bda29d19bebb906)

Change-Id: Ie78d552ea6494fe3c4059847b26c2a6e206f9515
Reviewed-on: https://go-review.googlesource.com/c/160780
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/cgo/out.go

index bbed5d598fc2353d4ef0c4cf4b88634513ca4c13..1c36b80088c3a477637b66d7f54ac87f8f57a241 100644 (file)
@@ -741,6 +741,8 @@ func (p *Package) writeExports(fgo2, fm, fgcc, fgcch io.Writer) {
        fmt.Fprintf(fgcc, "#include \"_cgo_export.h\"\n\n")
 
        // We use packed structs, but they are always aligned.
+       // The pragmas and address-of-packed-member are not recognized as warning groups in clang 3.4.1, so ignore unknown pragmas first.
+       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")
 
@@ -1345,6 +1347,9 @@ __cgo_size_assert(double, 8)
 extern char* _cgo_topofstack(void);
 
 /* We use packed structs, but they are always aligned.  */
+/* The pragmas and address-of-packed-member are not recognized as warning groups in clang 3.4.1, so ignore unknown pragmas first. */
+
+#pragma GCC diagnostic ignored "-Wunknown-pragmas"
 #pragma GCC diagnostic ignored "-Wpragmas"
 #pragma GCC diagnostic ignored "-Waddress-of-packed-member"