mirror of
https://github.com/golang/go
synced 2024-11-22 02:54:39 -07:00
26dde76cee
Also, if the header is bad, exit with a non-zero status. Other calls to Brdline in the tree, by category: Reading symbol name from object file: ./cmd/5l/obj.c:486: name = Brdline(f, '\0'); ./cmd/6l/obj.c:535: name = Brdline(f, '\0'); ./cmd/8l/obj.c:564: name = Brdline(f, '\0'); ./libmach/sym.c:292: cp = Brdline(bp, '\0'); Reading archive header line (fixed, short): ./cmd/gc/lex.c:287: if((a = Brdline(b, '\n')) == nil) ./cmd/gc/lex.c:303: if((p = Brdline(b, '\n')) == nil) Reading object file header line (fixed, short): ./cmd/ld/lib.c:421: line = Brdline(f, '\n'); Reading undefined symbol list (unused code): ./cmd/ld/lib.c:773: while((l = Brdline(b, '\n')) != nil){ Implementing Brdstr: ./libbio/brdstr.c:36: p = Brdline(bp, delim); The symbol names ones will cause a problem loudly if they fail: they'll error out with symbol name too long. This means that you can't define an enormous struct without giving the type a name and then stick it in an interface, because the type's symbol name will be too long for the object file. Since this will be a loud failure instead of a silent one, I'm willing to wait until it comes up in practice. R=r CC=golang-dev https://golang.org/cl/1982041
13 lines
327 B
Go
13 lines
327 B
Go
// Copyright 2010 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.
|
|
|
|
package main
|
|
|
|
// Check that the export information is correct in p.6.
|
|
import _ "./p"
|
|
|
|
// Check that it's still correct in pp.a (which contains p.6).
|
|
import _ "./pp"
|
|
|