aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Symonds <dsymonds@golang.org>2012-01-27 13:59:32 +1100
committerDavid Symonds <dsymonds@golang.org>2012-01-27 13:59:32 +1100
commit1b19134c4f8f6d303f640948164dc6e7c691f756 (patch)
tree651b394f570c4e63ae689973477f8c493deb7f1f
parentcdbed823bde062cf72f62437261ee9c84007269c (diff)
downloadgo-1b19134c4f8f6d303f640948164dc6e7c691f756.tar.gz
go-1b19134c4f8f6d303f640948164dc6e7c691f756.zip
gc: remove extra paranoia from inlining unsafe.Pointer fix.
R=rsc CC=golang-dev https://golang.org/cl/5569075
-rw-r--r--src/cmd/gc/subr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c
index 0a377822ea..64a0070776 100644
--- a/src/cmd/gc/subr.c
+++ b/src/cmd/gc/subr.c
@@ -1149,7 +1149,9 @@ assignop(Type *src, Type *dst, char **why)
if(why != nil)
*why = "";
- if(safemode && (importpkg == nil || importpkg == localpkg) && src != T && src->etype == TUNSAFEPTR) {
+ // TODO(rsc,lvd): This behaves poorly in the presence of inlining.
+ // https://code.google.com/p/go/issues/detail?id=2795
+ if(safemode && importpkg == nil && src != T && src->etype == TUNSAFEPTR) {
yyerror("cannot use unsafe.Pointer");
errorexit();
}