diff --git a/src/cmd/gc/lex.c b/src/cmd/gc/lex.c index db6dfc3e119..9a21c930108 100644 --- a/src/cmd/gc/lex.c +++ b/src/cmd/gc/lex.c @@ -574,6 +574,11 @@ importfile(Val *f, int line) yyerror("import path contains NUL"); errorexit(); } + + if(strchr(f->u.sval->s, '\\')) { + yyerror("import path contains backslash; use slash"); + errorexit(); + } // The package name main is no longer reserved, // but we reserve the import path "main" to identify diff --git a/test/import5.go b/test/import5.go new file mode 100644 index 00000000000..ee041709a15 --- /dev/null +++ b/test/import5.go @@ -0,0 +1,11 @@ +// errchk $G -e $D/$F.go + +// Copyright 2009 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. + +// import paths are slash-separated; reject backslash + +package main + +import `net\http` // ERROR "backslash"