aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/asm/internal/lex
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2015-02-19 12:57:33 -0800
committerRob Pike <r@golang.org>2015-02-19 21:06:51 +0000
commitf60fb5c5ad794aaa7fb7331a88a271cb6b6f0fdb (patch)
tree079583dfeccc69f68930363bcbe7e7a148180b6b /src/cmd/asm/internal/lex
parentd7eb51e70e02887b15d6e23548c74ff86471ced9 (diff)
downloadgo-f60fb5c5ad794aaa7fb7331a88a271cb6b6f0fdb.tar.xz
[dev.cc] cmd/asm: accept #define A /* nothing */
Was rejected but should be legal. Change-Id: I0189e3bef6b67c6ba390c75a48a8d9d8f39b7636 Reviewed-on: https://go-review.googlesource.com/5286 Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/cmd/asm/internal/lex')
-rw-r--r--src/cmd/asm/internal/lex/input.go2
-rw-r--r--src/cmd/asm/internal/lex/lex_test.go5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/cmd/asm/internal/lex/input.go b/src/cmd/asm/internal/lex/input.go
index 737b12e134..730042b149 100644
--- a/src/cmd/asm/internal/lex/input.go
+++ b/src/cmd/asm/internal/lex/input.go
@@ -206,7 +206,7 @@ func (in *Input) macroDefinition(name string) ([]string, []Token) {
prevCol := in.Stack.Col()
tok := in.Stack.Next()
if tok == '\n' || tok == scanner.EOF {
- in.Error("no definition for macro:", name)
+ return nil, nil // No definition for macro
}
var args []string
// The C preprocessor treats
diff --git a/src/cmd/asm/internal/lex/lex_test.go b/src/cmd/asm/internal/lex/lex_test.go
index 59e01c6699..f034d69c36 100644
--- a/src/cmd/asm/internal/lex/lex_test.go
+++ b/src/cmd/asm/internal/lex/lex_test.go
@@ -37,6 +37,11 @@ var lexTests = []lexTest{
"1234.\n",
},
{
+ "define without value",
+ "#define A",
+ "",
+ },
+ {
"macro without arguments",
"#define A() 1234\n" + "A()\n",
"1234.\n",