From f60fb5c5ad794aaa7fb7331a88a271cb6b6f0fdb Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Thu, 19 Feb 2015 12:57:33 -0800 Subject: [PATCH] [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 --- src/cmd/asm/internal/lex/input.go | 2 +- src/cmd/asm/internal/lex/lex_test.go | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) 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 @@ -36,6 +36,11 @@ var lexTests = []lexTest{ ), "1234.\n", }, + { + "define without value", + "#define A", + "", + }, { "macro without arguments", "#define A() 1234\n" + "A()\n",