From: Rob Pike Date: Thu, 19 Feb 2015 20:57:33 +0000 (-0800) Subject: [dev.cc] cmd/asm: accept #define A /* nothing */ X-Git-Tag: go1.5beta1~1915^2~37 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f60fb5c5ad794aaa7fb7331a88a271cb6b6f0fdb;p=gostls13.git [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 --- 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",