Commit a4682348 authored by Rémy Oudompheng's avatar Rémy Oudompheng

cmd/gc: don't squash complex literals when inlining.

Since this patch changes the way complex literals are written
in export data, there are a few other glitches.

Fixes #4159.

R=golang-dev, rsc
CC=golang-dev, remy
https://golang.org/cl/6674047
parent fcd5fd2a
...@@ -379,7 +379,7 @@ Vconv(Fmt *fp) ...@@ -379,7 +379,7 @@ Vconv(Fmt *fp)
return fmtprint(fp, "%#F", v->u.fval); return fmtprint(fp, "%#F", v->u.fval);
case CTCPLX: case CTCPLX:
if((fp->flags & FmtSharp) || fmtmode == FExp) if((fp->flags & FmtSharp) || fmtmode == FExp)
return fmtprint(fp, "(%F+%F)", &v->u.cval->real, &v->u.cval->imag); return fmtprint(fp, "(%F+%Fi)", &v->u.cval->real, &v->u.cval->imag);
return fmtprint(fp, "(%#F + %#Fi)", &v->u.cval->real, &v->u.cval->imag); return fmtprint(fp, "(%#F + %#Fi)", &v->u.cval->real, &v->u.cval->imag);
case CTSTR: case CTSTR:
return fmtprint(fp, "\"%Z\"", v->u.sval); return fmtprint(fp, "\"%Z\"", v->u.sval);
......
...@@ -2039,6 +2039,8 @@ hidden_constant: ...@@ -2039,6 +2039,8 @@ hidden_constant:
mpaddfixfix($2->val.u.xval, $4->val.u.xval, 0); mpaddfixfix($2->val.u.xval, $4->val.u.xval, 0);
break; break;
} }
$4->val.u.cval->real = $4->val.u.cval->imag;
mpmovecflt(&$4->val.u.cval->imag, 0.0);
$$ = nodcplxlit($2->val, $4->val); $$ = nodcplxlit($2->val, $4->val);
} }
......
/* A Bison parser, made by GNU Bison 2.5. */ /* A Bison parser, made by GNU Bison 2.6.2. */
/* Bison implementation for Yacc-like parsers in C /* Bison implementation for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
#define YYBISON 1 #define YYBISON 1
/* Bison version. */ /* Bison version. */
#define YYBISON_VERSION "2.5" #define YYBISON_VERSION "2.6.2"
/* Skeleton name. */ /* Skeleton name. */
#define YYSKELETON_NAME "yacc.c" #define YYSKELETON_NAME "yacc.c"
...@@ -58,14 +58,11 @@ ...@@ -58,14 +58,11 @@
/* Pull parsers. */ /* Pull parsers. */
#define YYPULL 1 #define YYPULL 1
/* Using locations. */
#define YYLSP_NEEDED 0
/* Copy the first part of user declarations. */ /* Copy the first part of user declarations. */
/* Line 336 of yacc.c */
/* Line 268 of yacc.c */
#line 20 "go.y" #line 20 "go.y"
#include <u.h> #include <u.h>
...@@ -75,14 +72,16 @@ ...@@ -75,14 +72,16 @@
static void fixlbrace(int); static void fixlbrace(int);
/* Line 336 of yacc.c */
#line 77 "y.tab.c"
/* Line 268 of yacc.c */ # ifndef YY_NULL
#line 81 "y.tab.c" # if defined __cplusplus && 201103L <= __cplusplus
# define YY_NULL nullptr
/* Enabling traces. */ # else
#ifndef YYDEBUG # define YY_NULL 0
# define YYDEBUG 0 # endif
#endif # endif
/* Enabling verbose error messages. */ /* Enabling verbose error messages. */
#ifdef YYERROR_VERBOSE #ifdef YYERROR_VERBOSE
...@@ -92,11 +91,17 @@ static void fixlbrace(int); ...@@ -92,11 +91,17 @@ static void fixlbrace(int);
# define YYERROR_VERBOSE 1 # define YYERROR_VERBOSE 1
#endif #endif
/* Enabling the token table. */ /* In a future release of Bison, this section will be replaced
#ifndef YYTOKEN_TABLE by #include "y.tab.h". */
# define YYTOKEN_TABLE 0 #ifndef YY_Y_TAB_H
# define YY_Y_TAB_H
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int yydebug;
#endif #endif
/* Tokens. */ /* Tokens. */
#ifndef YYTOKENTYPE #ifndef YYTOKENTYPE
...@@ -208,12 +213,10 @@ static void fixlbrace(int); ...@@ -208,12 +213,10 @@ static void fixlbrace(int);
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE typedef union YYSTYPE
{ {
/* Line 350 of yacc.c */
/* Line 293 of yacc.c */
#line 28 "go.y" #line 28 "go.y"
Node* node; Node* node;
...@@ -224,21 +227,36 @@ typedef union YYSTYPE ...@@ -224,21 +227,36 @@ typedef union YYSTYPE
int i; int i;
/* Line 350 of yacc.c */
/* Line 293 of yacc.c */ #line 232 "y.tab.c"
#line 230 "y.tab.c"
} YYSTYPE; } YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_DECLARED 1
#endif #endif
extern YYSTYPE yylval;
/* Copy the second part of user declarations. */ #ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
#else
int yyparse ();
#endif
#else /* ! YYPARSE_PARAM */
#if defined __STDC__ || defined __cplusplus
int yyparse (void);
#else
int yyparse ();
#endif
#endif /* ! YYPARSE_PARAM */
#endif /* !YY_Y_TAB_H */
/* Line 343 of yacc.c */ /* Copy the second part of user declarations. */
#line 242 "y.tab.c"
/* Line 353 of yacc.c */
#line 260 "y.tab.c"
#ifdef short #ifdef short
# undef short # undef short
...@@ -344,6 +362,7 @@ YYID (yyi) ...@@ -344,6 +362,7 @@ YYID (yyi)
# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER) || defined __cplusplus || defined _MSC_VER)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
# ifndef EXIT_SUCCESS # ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0 # define EXIT_SUCCESS 0
# endif # endif
...@@ -435,19 +454,19 @@ union yyalloc ...@@ -435,19 +454,19 @@ union yyalloc
#endif #endif
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
/* Copy COUNT objects from FROM to TO. The source and destination do /* Copy COUNT objects from SRC to DST. The source and destination do
not overlap. */ not overlap. */
# ifndef YYCOPY # ifndef YYCOPY
# if defined __GNUC__ && 1 < __GNUC__ # if defined __GNUC__ && 1 < __GNUC__
# define YYCOPY(To, From, Count) \ # define YYCOPY(Dst, Src, Count) \
__builtin_memcpy (To, From, (Count) * sizeof (*(From))) __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
# else # else
# define YYCOPY(To, From, Count) \ # define YYCOPY(Dst, Src, Count) \
do \ do \
{ \ { \
YYSIZE_T yyi; \ YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \ for (yyi = 0; yyi < (Count); yyi++) \
(To)[yyi] = (From)[yyi]; \ (Dst)[yyi] = (Src)[yyi]; \
} \ } \
while (YYID (0)) while (YYID (0))
# endif # endif
...@@ -704,12 +723,12 @@ static const yytype_uint16 yyrline[] = ...@@ -704,12 +723,12 @@ static const yytype_uint16 yyrline[] =
1811, 1815, 1819, 1837, 1844, 1855, 1856, 1857, 1860, 1861, 1811, 1815, 1819, 1837, 1844, 1855, 1856, 1857, 1860, 1861,
1864, 1868, 1878, 1882, 1886, 1890, 1894, 1898, 1902, 1908, 1864, 1868, 1878, 1882, 1886, 1890, 1894, 1898, 1902, 1908,
1914, 1922, 1930, 1936, 1943, 1959, 1977, 1981, 1987, 1990, 1914, 1922, 1930, 1936, 1943, 1959, 1977, 1981, 1987, 1990,
1993, 1997, 2007, 2011, 2026, 2034, 2035, 2045, 2046, 2049, 1993, 1997, 2007, 2011, 2026, 2034, 2035, 2047, 2048, 2051,
2053, 2059, 2063, 2069, 2073 2055, 2061, 2065, 2071, 2075
}; };
#endif #endif
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE #if YYDEBUG || YYERROR_VERBOSE || 1
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
First, the terminals, then, starting at YYNTOKENS, nonterminals. */ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
const char *yytname[] = const char *yytname[] =
...@@ -753,7 +772,7 @@ const char *yytname[] = ...@@ -753,7 +772,7 @@ const char *yytname[] =
"hidden_interfacedcl", "ohidden_funres", "hidden_funres", "hidden_interfacedcl", "ohidden_funres", "hidden_funres",
"hidden_literal", "hidden_constant", "hidden_import_list", "hidden_literal", "hidden_constant", "hidden_import_list",
"hidden_funarg_list", "hidden_structdcl_list", "hidden_funarg_list", "hidden_structdcl_list",
"hidden_interfacedcl_list", 0 "hidden_interfacedcl_list", YY_NULL
}; };
#endif #endif
...@@ -1576,11 +1595,12 @@ static const yytype_uint8 yystos[] = ...@@ -1576,11 +1595,12 @@ static const yytype_uint8 yystos[] =
#define YYBACKUP(Token, Value) \ #define YYBACKUP(Token, Value) \
do \ do \
if (yychar == YYEMPTY && yylen == 1) \ if (yychar == YYEMPTY) \
{ \ { \
yychar = (Token); \ yychar = (Token); \
yylval = (Value); \ yylval = (Value); \
YYPOPSTACK (1); \ YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \ goto yybackup; \
} \ } \
else \ else \
...@@ -1594,12 +1614,10 @@ while (YYID (0)) ...@@ -1594,12 +1614,10 @@ while (YYID (0))
#define YYTERROR 1 #define YYTERROR 1
#define YYERRCODE 256 #define YYERRCODE 256
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
If N is 0, then set CURRENT to the empty location which ends If N is 0, then set CURRENT to the empty location which ends
the previous symbol: RHS[0] (always defined). */ the previous symbol: RHS[0] (always defined). */
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
#ifndef YYLLOC_DEFAULT #ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \ # define YYLLOC_DEFAULT(Current, Rhs, N) \
do \ do \
...@@ -1620,6 +1638,9 @@ while (YYID (0)) ...@@ -1620,6 +1638,9 @@ while (YYID (0))
while (YYID (0)) while (YYID (0))
#endif #endif
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
/* This macro is provided for backward compatibility. */ /* This macro is provided for backward compatibility. */
...@@ -1679,6 +1700,8 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep) ...@@ -1679,6 +1700,8 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
YYSTYPE const * const yyvaluep; YYSTYPE const * const yyvaluep;
#endif #endif
{ {
FILE *yyo = yyoutput;
YYUSE (yyo);
if (!yyvaluep) if (!yyvaluep)
return; return;
# ifdef YYPRINT # ifdef YYPRINT
...@@ -1930,12 +1953,12 @@ static int ...@@ -1930,12 +1953,12 @@ static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken) yytype_int16 *yyssp, int yytoken)
{ {
YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
YYSIZE_T yysize = yysize0; YYSIZE_T yysize = yysize0;
YYSIZE_T yysize1; YYSIZE_T yysize1;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */ /* Internationalized format string. */
const char *yyformat = 0; const char *yyformat = YY_NULL;
/* Arguments of yyformat. */ /* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per /* Number of reported tokens (one for the "unexpected", one per
...@@ -1995,7 +2018,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, ...@@ -1995,7 +2018,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
break; break;
} }
yyarg[yycount++] = yytname[yyx]; yyarg[yycount++] = yytname[yyx];
yysize1 = yysize + yytnamerr (0, yytname[yyx]); yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
if (! (yysize <= yysize1 if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM)) && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2; return 2;
...@@ -2087,20 +2110,6 @@ yydestruct (yymsg, yytype, yyvaluep) ...@@ -2087,20 +2110,6 @@ yydestruct (yymsg, yytype, yyvaluep)
} }
/* Prevent warnings from -Wmissing-prototypes. */
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
#else
int yyparse ();
#endif
#else /* ! YYPARSE_PARAM */
#if defined __STDC__ || defined __cplusplus
int yyparse (void);
#else
int yyparse ();
#endif
#endif /* ! YYPARSE_PARAM */
/* The lookahead symbol. */ /* The lookahead symbol. */
...@@ -2146,7 +2155,7 @@ yyparse () ...@@ -2146,7 +2155,7 @@ yyparse ()
`yyss': related to states. `yyss': related to states.
`yyvs': related to semantic values. `yyvs': related to semantic values.
Refer to the stacks thru separate pointers, to allow yyoverflow Refer to the stacks through separate pointers, to allow yyoverflow
to reallocate them elsewhere. */ to reallocate them elsewhere. */
/* The state stack. */ /* The state stack. */
...@@ -2200,7 +2209,6 @@ yyparse () ...@@ -2200,7 +2209,6 @@ yyparse ()
The wasted elements are never initialized. */ The wasted elements are never initialized. */
yyssp = yyss; yyssp = yyss;
yyvsp = yyvs; yyvsp = yyvs;
goto yysetstate; goto yysetstate;
/*------------------------------------------------------------. /*------------------------------------------------------------.
...@@ -2378,8 +2386,7 @@ yyreduce: ...@@ -2378,8 +2386,7 @@ yyreduce:
switch (yyn) switch (yyn)
{ {
case 2: case 2:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 128 "go.y" #line 128 "go.y"
{ {
xtop = concat(xtop, (yyvsp[(4) - (4)].list)); xtop = concat(xtop, (yyvsp[(4) - (4)].list));
...@@ -2387,8 +2394,7 @@ yyreduce: ...@@ -2387,8 +2394,7 @@ yyreduce:
break; break;
case 3: case 3:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 134 "go.y" #line 134 "go.y"
{ {
prevlineno = lineno; prevlineno = lineno;
...@@ -2399,8 +2405,7 @@ yyreduce: ...@@ -2399,8 +2405,7 @@ yyreduce:
break; break;
case 4: case 4:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 141 "go.y" #line 141 "go.y"
{ {
mkpackage((yyvsp[(2) - (3)].sym)->name); mkpackage((yyvsp[(2) - (3)].sym)->name);
...@@ -2408,8 +2413,7 @@ yyreduce: ...@@ -2408,8 +2413,7 @@ yyreduce:
break; break;
case 5: case 5:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 151 "go.y" #line 151 "go.y"
{ {
importpkg = runtimepkg; importpkg = runtimepkg;
...@@ -2423,8 +2427,7 @@ yyreduce: ...@@ -2423,8 +2427,7 @@ yyreduce:
break; break;
case 6: case 6:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 162 "go.y" #line 162 "go.y"
{ {
importpkg = nil; importpkg = nil;
...@@ -2432,8 +2435,7 @@ yyreduce: ...@@ -2432,8 +2435,7 @@ yyreduce:
break; break;
case 12: case 12:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 176 "go.y" #line 176 "go.y"
{ {
Pkg *ipkg; Pkg *ipkg;
...@@ -2470,8 +2472,7 @@ yyreduce: ...@@ -2470,8 +2472,7 @@ yyreduce:
break; break;
case 13: case 13:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 209 "go.y" #line 209 "go.y"
{ {
// When an invalid import path is passed to importfile, // When an invalid import path is passed to importfile,
...@@ -2484,8 +2485,7 @@ yyreduce: ...@@ -2484,8 +2485,7 @@ yyreduce:
break; break;
case 16: case 16:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 224 "go.y" #line 224 "go.y"
{ {
// import with original name // import with original name
...@@ -2496,8 +2496,7 @@ yyreduce: ...@@ -2496,8 +2496,7 @@ yyreduce:
break; break;
case 17: case 17:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 231 "go.y" #line 231 "go.y"
{ {
// import with given name // import with given name
...@@ -2508,8 +2507,7 @@ yyreduce: ...@@ -2508,8 +2507,7 @@ yyreduce:
break; break;
case 18: case 18:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 238 "go.y" #line 238 "go.y"
{ {
// import into my name space // import into my name space
...@@ -2520,8 +2518,7 @@ yyreduce: ...@@ -2520,8 +2518,7 @@ yyreduce:
break; break;
case 19: case 19:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 247 "go.y" #line 247 "go.y"
{ {
if(importpkg->name == nil) { if(importpkg->name == nil) {
...@@ -2537,8 +2534,7 @@ yyreduce: ...@@ -2537,8 +2534,7 @@ yyreduce:
break; break;
case 21: case 21:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 261 "go.y" #line 261 "go.y"
{ {
if(strcmp((yyvsp[(1) - (1)].sym)->name, "safe") == 0) if(strcmp((yyvsp[(1) - (1)].sym)->name, "safe") == 0)
...@@ -2547,8 +2543,7 @@ yyreduce: ...@@ -2547,8 +2543,7 @@ yyreduce:
break; break;
case 22: case 22:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 267 "go.y" #line 267 "go.y"
{ {
defercheckwidth(); defercheckwidth();
...@@ -2556,8 +2551,7 @@ yyreduce: ...@@ -2556,8 +2551,7 @@ yyreduce:
break; break;
case 23: case 23:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 271 "go.y" #line 271 "go.y"
{ {
resumecheckwidth(); resumecheckwidth();
...@@ -2566,8 +2560,7 @@ yyreduce: ...@@ -2566,8 +2560,7 @@ yyreduce:
break; break;
case 24: case 24:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 280 "go.y" #line 280 "go.y"
{ {
yyerror("empty top-level declaration"); yyerror("empty top-level declaration");
...@@ -2576,8 +2569,7 @@ yyreduce: ...@@ -2576,8 +2569,7 @@ yyreduce:
break; break;
case 26: case 26:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 286 "go.y" #line 286 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
...@@ -2585,8 +2577,7 @@ yyreduce: ...@@ -2585,8 +2577,7 @@ yyreduce:
break; break;
case 27: case 27:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 290 "go.y" #line 290 "go.y"
{ {
yyerror("non-declaration statement outside function body"); yyerror("non-declaration statement outside function body");
...@@ -2595,8 +2586,7 @@ yyreduce: ...@@ -2595,8 +2586,7 @@ yyreduce:
break; break;
case 28: case 28:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 295 "go.y" #line 295 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -2604,8 +2594,7 @@ yyreduce: ...@@ -2604,8 +2594,7 @@ yyreduce:
break; break;
case 29: case 29:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 301 "go.y" #line 301 "go.y"
{ {
(yyval.list) = (yyvsp[(2) - (2)].list); (yyval.list) = (yyvsp[(2) - (2)].list);
...@@ -2613,8 +2602,7 @@ yyreduce: ...@@ -2613,8 +2602,7 @@ yyreduce:
break; break;
case 30: case 30:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 305 "go.y" #line 305 "go.y"
{ {
(yyval.list) = (yyvsp[(3) - (5)].list); (yyval.list) = (yyvsp[(3) - (5)].list);
...@@ -2622,8 +2610,7 @@ yyreduce: ...@@ -2622,8 +2610,7 @@ yyreduce:
break; break;
case 31: case 31:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 309 "go.y" #line 309 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -2631,8 +2618,7 @@ yyreduce: ...@@ -2631,8 +2618,7 @@ yyreduce:
break; break;
case 32: case 32:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 313 "go.y" #line 313 "go.y"
{ {
(yyval.list) = (yyvsp[(2) - (2)].list); (yyval.list) = (yyvsp[(2) - (2)].list);
...@@ -2642,8 +2628,7 @@ yyreduce: ...@@ -2642,8 +2628,7 @@ yyreduce:
break; break;
case 33: case 33:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 319 "go.y" #line 319 "go.y"
{ {
(yyval.list) = (yyvsp[(3) - (5)].list); (yyval.list) = (yyvsp[(3) - (5)].list);
...@@ -2653,8 +2638,7 @@ yyreduce: ...@@ -2653,8 +2638,7 @@ yyreduce:
break; break;
case 34: case 34:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 325 "go.y" #line 325 "go.y"
{ {
(yyval.list) = concat((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].list)); (yyval.list) = concat((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].list));
...@@ -2664,8 +2648,7 @@ yyreduce: ...@@ -2664,8 +2648,7 @@ yyreduce:
break; break;
case 35: case 35:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 331 "go.y" #line 331 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -2674,8 +2657,7 @@ yyreduce: ...@@ -2674,8 +2657,7 @@ yyreduce:
break; break;
case 36: case 36:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 336 "go.y" #line 336 "go.y"
{ {
(yyval.list) = list1((yyvsp[(2) - (2)].node)); (yyval.list) = list1((yyvsp[(2) - (2)].node));
...@@ -2683,8 +2665,7 @@ yyreduce: ...@@ -2683,8 +2665,7 @@ yyreduce:
break; break;
case 37: case 37:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 340 "go.y" #line 340 "go.y"
{ {
(yyval.list) = (yyvsp[(3) - (5)].list); (yyval.list) = (yyvsp[(3) - (5)].list);
...@@ -2692,8 +2673,7 @@ yyreduce: ...@@ -2692,8 +2673,7 @@ yyreduce:
break; break;
case 38: case 38:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 344 "go.y" #line 344 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -2701,8 +2681,7 @@ yyreduce: ...@@ -2701,8 +2681,7 @@ yyreduce:
break; break;
case 39: case 39:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 350 "go.y" #line 350 "go.y"
{ {
iota = 0; iota = 0;
...@@ -2710,8 +2689,7 @@ yyreduce: ...@@ -2710,8 +2689,7 @@ yyreduce:
break; break;
case 40: case 40:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 356 "go.y" #line 356 "go.y"
{ {
(yyval.list) = variter((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node), nil); (yyval.list) = variter((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node), nil);
...@@ -2719,8 +2697,7 @@ yyreduce: ...@@ -2719,8 +2697,7 @@ yyreduce:
break; break;
case 41: case 41:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 360 "go.y" #line 360 "go.y"
{ {
(yyval.list) = variter((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].list)); (yyval.list) = variter((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].list));
...@@ -2728,8 +2705,7 @@ yyreduce: ...@@ -2728,8 +2705,7 @@ yyreduce:
break; break;
case 42: case 42:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 364 "go.y" #line 364 "go.y"
{ {
(yyval.list) = variter((yyvsp[(1) - (3)].list), nil, (yyvsp[(3) - (3)].list)); (yyval.list) = variter((yyvsp[(1) - (3)].list), nil, (yyvsp[(3) - (3)].list));
...@@ -2737,8 +2713,7 @@ yyreduce: ...@@ -2737,8 +2713,7 @@ yyreduce:
break; break;
case 43: case 43:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 370 "go.y" #line 370 "go.y"
{ {
(yyval.list) = constiter((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].list)); (yyval.list) = constiter((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].list));
...@@ -2746,8 +2721,7 @@ yyreduce: ...@@ -2746,8 +2721,7 @@ yyreduce:
break; break;
case 44: case 44:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 374 "go.y" #line 374 "go.y"
{ {
(yyval.list) = constiter((yyvsp[(1) - (3)].list), N, (yyvsp[(3) - (3)].list)); (yyval.list) = constiter((yyvsp[(1) - (3)].list), N, (yyvsp[(3) - (3)].list));
...@@ -2755,8 +2729,7 @@ yyreduce: ...@@ -2755,8 +2729,7 @@ yyreduce:
break; break;
case 46: case 46:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 381 "go.y" #line 381 "go.y"
{ {
(yyval.list) = constiter((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node), nil); (yyval.list) = constiter((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node), nil);
...@@ -2764,8 +2737,7 @@ yyreduce: ...@@ -2764,8 +2737,7 @@ yyreduce:
break; break;
case 47: case 47:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 385 "go.y" #line 385 "go.y"
{ {
(yyval.list) = constiter((yyvsp[(1) - (1)].list), N, nil); (yyval.list) = constiter((yyvsp[(1) - (1)].list), N, nil);
...@@ -2773,8 +2745,7 @@ yyreduce: ...@@ -2773,8 +2745,7 @@ yyreduce:
break; break;
case 48: case 48:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 391 "go.y" #line 391 "go.y"
{ {
// different from dclname because the name // different from dclname because the name
...@@ -2785,8 +2756,7 @@ yyreduce: ...@@ -2785,8 +2756,7 @@ yyreduce:
break; break;
case 49: case 49:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 400 "go.y" #line 400 "go.y"
{ {
(yyval.node) = typedcl1((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node), 1); (yyval.node) = typedcl1((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node), 1);
...@@ -2794,8 +2764,7 @@ yyreduce: ...@@ -2794,8 +2764,7 @@ yyreduce:
break; break;
case 50: case 50:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 406 "go.y" #line 406 "go.y"
{ {
(yyval.node) = (yyvsp[(1) - (1)].node); (yyval.node) = (yyvsp[(1) - (1)].node);
...@@ -2803,8 +2772,7 @@ yyreduce: ...@@ -2803,8 +2772,7 @@ yyreduce:
break; break;
case 51: case 51:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 410 "go.y" #line 410 "go.y"
{ {
(yyval.node) = nod(OASOP, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OASOP, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -2813,8 +2781,7 @@ yyreduce: ...@@ -2813,8 +2781,7 @@ yyreduce:
break; break;
case 52: case 52:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 415 "go.y" #line 415 "go.y"
{ {
if((yyvsp[(1) - (3)].list)->next == nil && (yyvsp[(3) - (3)].list)->next == nil) { if((yyvsp[(1) - (3)].list)->next == nil && (yyvsp[(3) - (3)].list)->next == nil) {
...@@ -2830,8 +2797,7 @@ yyreduce: ...@@ -2830,8 +2797,7 @@ yyreduce:
break; break;
case 53: case 53:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 427 "go.y" #line 427 "go.y"
{ {
if((yyvsp[(3) - (3)].list)->n->op == OTYPESW) { if((yyvsp[(3) - (3)].list)->n->op == OTYPESW) {
...@@ -2851,8 +2817,7 @@ yyreduce: ...@@ -2851,8 +2817,7 @@ yyreduce:
break; break;
case 54: case 54:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 443 "go.y" #line 443 "go.y"
{ {
(yyval.node) = nod(OASOP, (yyvsp[(1) - (2)].node), nodintconst(1)); (yyval.node) = nod(OASOP, (yyvsp[(1) - (2)].node), nodintconst(1));
...@@ -2861,8 +2826,7 @@ yyreduce: ...@@ -2861,8 +2826,7 @@ yyreduce:
break; break;
case 55: case 55:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 448 "go.y" #line 448 "go.y"
{ {
(yyval.node) = nod(OASOP, (yyvsp[(1) - (2)].node), nodintconst(1)); (yyval.node) = nod(OASOP, (yyvsp[(1) - (2)].node), nodintconst(1));
...@@ -2871,8 +2835,7 @@ yyreduce: ...@@ -2871,8 +2835,7 @@ yyreduce:
break; break;
case 56: case 56:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 455 "go.y" #line 455 "go.y"
{ {
Node *n, *nn; Node *n, *nn;
...@@ -2896,8 +2859,7 @@ yyreduce: ...@@ -2896,8 +2859,7 @@ yyreduce:
break; break;
case 57: case 57:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 475 "go.y" #line 475 "go.y"
{ {
Node *n; Node *n;
...@@ -2919,8 +2881,7 @@ yyreduce: ...@@ -2919,8 +2881,7 @@ yyreduce:
break; break;
case 58: case 58:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 493 "go.y" #line 493 "go.y"
{ {
// will be converted to OCASE // will be converted to OCASE
...@@ -2933,8 +2894,7 @@ yyreduce: ...@@ -2933,8 +2894,7 @@ yyreduce:
break; break;
case 59: case 59:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 502 "go.y" #line 502 "go.y"
{ {
Node *n, *nn; Node *n, *nn;
...@@ -2954,8 +2914,7 @@ yyreduce: ...@@ -2954,8 +2914,7 @@ yyreduce:
break; break;
case 60: case 60:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 520 "go.y" #line 520 "go.y"
{ {
markdcl(); markdcl();
...@@ -2963,8 +2922,7 @@ yyreduce: ...@@ -2963,8 +2922,7 @@ yyreduce:
break; break;
case 61: case 61:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 524 "go.y" #line 524 "go.y"
{ {
(yyval.node) = liststmt((yyvsp[(3) - (4)].list)); (yyval.node) = liststmt((yyvsp[(3) - (4)].list));
...@@ -2973,8 +2931,7 @@ yyreduce: ...@@ -2973,8 +2931,7 @@ yyreduce:
break; break;
case 62: case 62:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 531 "go.y" #line 531 "go.y"
{ {
// If the last token read by the lexer was consumed // If the last token read by the lexer was consumed
...@@ -2988,8 +2945,7 @@ yyreduce: ...@@ -2988,8 +2945,7 @@ yyreduce:
break; break;
case 63: case 63:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 541 "go.y" #line 541 "go.y"
{ {
int last; int last;
...@@ -3012,8 +2968,7 @@ yyreduce: ...@@ -3012,8 +2968,7 @@ yyreduce:
break; break;
case 64: case 64:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 561 "go.y" #line 561 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -3021,8 +2976,7 @@ yyreduce: ...@@ -3021,8 +2976,7 @@ yyreduce:
break; break;
case 65: case 65:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 565 "go.y" #line 565 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); (yyval.list) = list((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node));
...@@ -3030,8 +2984,7 @@ yyreduce: ...@@ -3030,8 +2984,7 @@ yyreduce:
break; break;
case 66: case 66:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 571 "go.y" #line 571 "go.y"
{ {
markdcl(); markdcl();
...@@ -3039,8 +2992,7 @@ yyreduce: ...@@ -3039,8 +2992,7 @@ yyreduce:
break; break;
case 67: case 67:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 575 "go.y" #line 575 "go.y"
{ {
(yyval.list) = (yyvsp[(3) - (4)].list); (yyval.list) = (yyvsp[(3) - (4)].list);
...@@ -3049,8 +3001,7 @@ yyreduce: ...@@ -3049,8 +3001,7 @@ yyreduce:
break; break;
case 68: case 68:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 582 "go.y" #line 582 "go.y"
{ {
(yyval.node) = nod(ORANGE, N, (yyvsp[(4) - (4)].node)); (yyval.node) = nod(ORANGE, N, (yyvsp[(4) - (4)].node));
...@@ -3060,8 +3011,7 @@ yyreduce: ...@@ -3060,8 +3011,7 @@ yyreduce:
break; break;
case 69: case 69:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 588 "go.y" #line 588 "go.y"
{ {
(yyval.node) = nod(ORANGE, N, (yyvsp[(4) - (4)].node)); (yyval.node) = nod(ORANGE, N, (yyvsp[(4) - (4)].node));
...@@ -3072,8 +3022,7 @@ yyreduce: ...@@ -3072,8 +3022,7 @@ yyreduce:
break; break;
case 70: case 70:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 597 "go.y" #line 597 "go.y"
{ {
// init ; test ; incr // init ; test ; incr
...@@ -3088,8 +3037,7 @@ yyreduce: ...@@ -3088,8 +3037,7 @@ yyreduce:
break; break;
case 71: case 71:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 608 "go.y" #line 608 "go.y"
{ {
// normal test // normal test
...@@ -3099,8 +3047,7 @@ yyreduce: ...@@ -3099,8 +3047,7 @@ yyreduce:
break; break;
case 73: case 73:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 617 "go.y" #line 617 "go.y"
{ {
(yyval.node) = (yyvsp[(1) - (2)].node); (yyval.node) = (yyvsp[(1) - (2)].node);
...@@ -3109,8 +3056,7 @@ yyreduce: ...@@ -3109,8 +3056,7 @@ yyreduce:
break; break;
case 74: case 74:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 624 "go.y" #line 624 "go.y"
{ {
markdcl(); markdcl();
...@@ -3118,8 +3064,7 @@ yyreduce: ...@@ -3118,8 +3064,7 @@ yyreduce:
break; break;
case 75: case 75:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 628 "go.y" #line 628 "go.y"
{ {
(yyval.node) = (yyvsp[(3) - (3)].node); (yyval.node) = (yyvsp[(3) - (3)].node);
...@@ -3128,8 +3073,7 @@ yyreduce: ...@@ -3128,8 +3073,7 @@ yyreduce:
break; break;
case 76: case 76:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 635 "go.y" #line 635 "go.y"
{ {
// test // test
...@@ -3139,8 +3083,7 @@ yyreduce: ...@@ -3139,8 +3083,7 @@ yyreduce:
break; break;
case 77: case 77:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 641 "go.y" #line 641 "go.y"
{ {
// init ; test // init ; test
...@@ -3152,8 +3095,7 @@ yyreduce: ...@@ -3152,8 +3095,7 @@ yyreduce:
break; break;
case 78: case 78:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 652 "go.y" #line 652 "go.y"
{ {
markdcl(); markdcl();
...@@ -3161,8 +3103,7 @@ yyreduce: ...@@ -3161,8 +3103,7 @@ yyreduce:
break; break;
case 79: case 79:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 656 "go.y" #line 656 "go.y"
{ {
if((yyvsp[(3) - (3)].node)->ntest == N) if((yyvsp[(3) - (3)].node)->ntest == N)
...@@ -3171,8 +3112,7 @@ yyreduce: ...@@ -3171,8 +3112,7 @@ yyreduce:
break; break;
case 80: case 80:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 661 "go.y" #line 661 "go.y"
{ {
(yyvsp[(3) - (5)].node)->nbody = (yyvsp[(5) - (5)].list); (yyvsp[(3) - (5)].node)->nbody = (yyvsp[(5) - (5)].list);
...@@ -3180,8 +3120,7 @@ yyreduce: ...@@ -3180,8 +3120,7 @@ yyreduce:
break; break;
case 81: case 81:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 665 "go.y" #line 665 "go.y"
{ {
popdcl(); popdcl();
...@@ -3192,8 +3131,7 @@ yyreduce: ...@@ -3192,8 +3131,7 @@ yyreduce:
break; break;
case 82: case 82:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 673 "go.y" #line 673 "go.y"
{ {
(yyval.node) = N; (yyval.node) = N;
...@@ -3201,8 +3139,7 @@ yyreduce: ...@@ -3201,8 +3139,7 @@ yyreduce:
break; break;
case 83: case 83:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 677 "go.y" #line 677 "go.y"
{ {
(yyval.node) = (yyvsp[(2) - (2)].node); (yyval.node) = (yyvsp[(2) - (2)].node);
...@@ -3210,8 +3147,7 @@ yyreduce: ...@@ -3210,8 +3147,7 @@ yyreduce:
break; break;
case 84: case 84:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 681 "go.y" #line 681 "go.y"
{ {
(yyval.node) = (yyvsp[(2) - (2)].node); (yyval.node) = (yyvsp[(2) - (2)].node);
...@@ -3219,8 +3155,7 @@ yyreduce: ...@@ -3219,8 +3155,7 @@ yyreduce:
break; break;
case 85: case 85:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 687 "go.y" #line 687 "go.y"
{ {
markdcl(); markdcl();
...@@ -3228,8 +3163,7 @@ yyreduce: ...@@ -3228,8 +3163,7 @@ yyreduce:
break; break;
case 86: case 86:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 691 "go.y" #line 691 "go.y"
{ {
Node *n; Node *n;
...@@ -3241,8 +3175,7 @@ yyreduce: ...@@ -3241,8 +3175,7 @@ yyreduce:
break; break;
case 87: case 87:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 699 "go.y" #line 699 "go.y"
{ {
(yyval.node) = (yyvsp[(3) - (7)].node); (yyval.node) = (yyvsp[(3) - (7)].node);
...@@ -3254,8 +3187,7 @@ yyreduce: ...@@ -3254,8 +3187,7 @@ yyreduce:
break; break;
case 88: case 88:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 709 "go.y" #line 709 "go.y"
{ {
typesw = nod(OXXX, typesw, N); typesw = nod(OXXX, typesw, N);
...@@ -3263,8 +3195,7 @@ yyreduce: ...@@ -3263,8 +3195,7 @@ yyreduce:
break; break;
case 89: case 89:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 713 "go.y" #line 713 "go.y"
{ {
(yyval.node) = nod(OSELECT, N, N); (yyval.node) = nod(OSELECT, N, N);
...@@ -3275,8 +3206,7 @@ yyreduce: ...@@ -3275,8 +3206,7 @@ yyreduce:
break; break;
case 91: case 91:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 726 "go.y" #line 726 "go.y"
{ {
(yyval.node) = nod(OOROR, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OOROR, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3284,8 +3214,7 @@ yyreduce: ...@@ -3284,8 +3214,7 @@ yyreduce:
break; break;
case 92: case 92:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 730 "go.y" #line 730 "go.y"
{ {
(yyval.node) = nod(OANDAND, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OANDAND, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3293,8 +3222,7 @@ yyreduce: ...@@ -3293,8 +3222,7 @@ yyreduce:
break; break;
case 93: case 93:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 734 "go.y" #line 734 "go.y"
{ {
(yyval.node) = nod(OEQ, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OEQ, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3302,8 +3230,7 @@ yyreduce: ...@@ -3302,8 +3230,7 @@ yyreduce:
break; break;
case 94: case 94:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 738 "go.y" #line 738 "go.y"
{ {
(yyval.node) = nod(ONE, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(ONE, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3311,8 +3238,7 @@ yyreduce: ...@@ -3311,8 +3238,7 @@ yyreduce:
break; break;
case 95: case 95:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 742 "go.y" #line 742 "go.y"
{ {
(yyval.node) = nod(OLT, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OLT, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3320,8 +3246,7 @@ yyreduce: ...@@ -3320,8 +3246,7 @@ yyreduce:
break; break;
case 96: case 96:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 746 "go.y" #line 746 "go.y"
{ {
(yyval.node) = nod(OLE, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OLE, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3329,8 +3254,7 @@ yyreduce: ...@@ -3329,8 +3254,7 @@ yyreduce:
break; break;
case 97: case 97:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 750 "go.y" #line 750 "go.y"
{ {
(yyval.node) = nod(OGE, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OGE, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3338,8 +3262,7 @@ yyreduce: ...@@ -3338,8 +3262,7 @@ yyreduce:
break; break;
case 98: case 98:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 754 "go.y" #line 754 "go.y"
{ {
(yyval.node) = nod(OGT, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OGT, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3347,8 +3270,7 @@ yyreduce: ...@@ -3347,8 +3270,7 @@ yyreduce:
break; break;
case 99: case 99:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 758 "go.y" #line 758 "go.y"
{ {
(yyval.node) = nod(OADD, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OADD, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3356,8 +3278,7 @@ yyreduce: ...@@ -3356,8 +3278,7 @@ yyreduce:
break; break;
case 100: case 100:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 762 "go.y" #line 762 "go.y"
{ {
(yyval.node) = nod(OSUB, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OSUB, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3365,8 +3286,7 @@ yyreduce: ...@@ -3365,8 +3286,7 @@ yyreduce:
break; break;
case 101: case 101:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 766 "go.y" #line 766 "go.y"
{ {
(yyval.node) = nod(OOR, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OOR, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3374,8 +3294,7 @@ yyreduce: ...@@ -3374,8 +3294,7 @@ yyreduce:
break; break;
case 102: case 102:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 770 "go.y" #line 770 "go.y"
{ {
(yyval.node) = nod(OXOR, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OXOR, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3383,8 +3302,7 @@ yyreduce: ...@@ -3383,8 +3302,7 @@ yyreduce:
break; break;
case 103: case 103:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 774 "go.y" #line 774 "go.y"
{ {
(yyval.node) = nod(OMUL, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OMUL, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3392,8 +3310,7 @@ yyreduce: ...@@ -3392,8 +3310,7 @@ yyreduce:
break; break;
case 104: case 104:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 778 "go.y" #line 778 "go.y"
{ {
(yyval.node) = nod(ODIV, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(ODIV, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3401,8 +3318,7 @@ yyreduce: ...@@ -3401,8 +3318,7 @@ yyreduce:
break; break;
case 105: case 105:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 782 "go.y" #line 782 "go.y"
{ {
(yyval.node) = nod(OMOD, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OMOD, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3410,8 +3326,7 @@ yyreduce: ...@@ -3410,8 +3326,7 @@ yyreduce:
break; break;
case 106: case 106:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 786 "go.y" #line 786 "go.y"
{ {
(yyval.node) = nod(OAND, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OAND, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3419,8 +3334,7 @@ yyreduce: ...@@ -3419,8 +3334,7 @@ yyreduce:
break; break;
case 107: case 107:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 790 "go.y" #line 790 "go.y"
{ {
(yyval.node) = nod(OANDNOT, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OANDNOT, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3428,8 +3342,7 @@ yyreduce: ...@@ -3428,8 +3342,7 @@ yyreduce:
break; break;
case 108: case 108:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 794 "go.y" #line 794 "go.y"
{ {
(yyval.node) = nod(OLSH, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OLSH, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3437,8 +3350,7 @@ yyreduce: ...@@ -3437,8 +3350,7 @@ yyreduce:
break; break;
case 109: case 109:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 798 "go.y" #line 798 "go.y"
{ {
(yyval.node) = nod(ORSH, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(ORSH, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3446,8 +3358,7 @@ yyreduce: ...@@ -3446,8 +3358,7 @@ yyreduce:
break; break;
case 110: case 110:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 803 "go.y" #line 803 "go.y"
{ {
(yyval.node) = nod(OSEND, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OSEND, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3455,8 +3366,7 @@ yyreduce: ...@@ -3455,8 +3366,7 @@ yyreduce:
break; break;
case 112: case 112:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 810 "go.y" #line 810 "go.y"
{ {
(yyval.node) = nod(OIND, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OIND, (yyvsp[(2) - (2)].node), N);
...@@ -3464,8 +3374,7 @@ yyreduce: ...@@ -3464,8 +3374,7 @@ yyreduce:
break; break;
case 113: case 113:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 814 "go.y" #line 814 "go.y"
{ {
if((yyvsp[(2) - (2)].node)->op == OCOMPLIT) { if((yyvsp[(2) - (2)].node)->op == OCOMPLIT) {
...@@ -3480,8 +3389,7 @@ yyreduce: ...@@ -3480,8 +3389,7 @@ yyreduce:
break; break;
case 114: case 114:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 825 "go.y" #line 825 "go.y"
{ {
(yyval.node) = nod(OPLUS, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OPLUS, (yyvsp[(2) - (2)].node), N);
...@@ -3489,8 +3397,7 @@ yyreduce: ...@@ -3489,8 +3397,7 @@ yyreduce:
break; break;
case 115: case 115:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 829 "go.y" #line 829 "go.y"
{ {
(yyval.node) = nod(OMINUS, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OMINUS, (yyvsp[(2) - (2)].node), N);
...@@ -3498,8 +3405,7 @@ yyreduce: ...@@ -3498,8 +3405,7 @@ yyreduce:
break; break;
case 116: case 116:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 833 "go.y" #line 833 "go.y"
{ {
(yyval.node) = nod(ONOT, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(ONOT, (yyvsp[(2) - (2)].node), N);
...@@ -3507,8 +3413,7 @@ yyreduce: ...@@ -3507,8 +3413,7 @@ yyreduce:
break; break;
case 117: case 117:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 837 "go.y" #line 837 "go.y"
{ {
yyerror("the bitwise complement operator is ^"); yyerror("the bitwise complement operator is ^");
...@@ -3517,8 +3422,7 @@ yyreduce: ...@@ -3517,8 +3422,7 @@ yyreduce:
break; break;
case 118: case 118:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 842 "go.y" #line 842 "go.y"
{ {
(yyval.node) = nod(OCOM, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OCOM, (yyvsp[(2) - (2)].node), N);
...@@ -3526,8 +3430,7 @@ yyreduce: ...@@ -3526,8 +3430,7 @@ yyreduce:
break; break;
case 119: case 119:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 846 "go.y" #line 846 "go.y"
{ {
(yyval.node) = nod(ORECV, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(ORECV, (yyvsp[(2) - (2)].node), N);
...@@ -3535,8 +3438,7 @@ yyreduce: ...@@ -3535,8 +3438,7 @@ yyreduce:
break; break;
case 120: case 120:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 856 "go.y" #line 856 "go.y"
{ {
(yyval.node) = nod(OCALL, (yyvsp[(1) - (3)].node), N); (yyval.node) = nod(OCALL, (yyvsp[(1) - (3)].node), N);
...@@ -3544,8 +3446,7 @@ yyreduce: ...@@ -3544,8 +3446,7 @@ yyreduce:
break; break;
case 121: case 121:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 860 "go.y" #line 860 "go.y"
{ {
(yyval.node) = nod(OCALL, (yyvsp[(1) - (5)].node), N); (yyval.node) = nod(OCALL, (yyvsp[(1) - (5)].node), N);
...@@ -3554,8 +3455,7 @@ yyreduce: ...@@ -3554,8 +3455,7 @@ yyreduce:
break; break;
case 122: case 122:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 865 "go.y" #line 865 "go.y"
{ {
(yyval.node) = nod(OCALL, (yyvsp[(1) - (6)].node), N); (yyval.node) = nod(OCALL, (yyvsp[(1) - (6)].node), N);
...@@ -3565,8 +3465,7 @@ yyreduce: ...@@ -3565,8 +3465,7 @@ yyreduce:
break; break;
case 123: case 123:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 873 "go.y" #line 873 "go.y"
{ {
(yyval.node) = nodlit((yyvsp[(1) - (1)].val)); (yyval.node) = nodlit((yyvsp[(1) - (1)].val));
...@@ -3574,8 +3473,7 @@ yyreduce: ...@@ -3574,8 +3473,7 @@ yyreduce:
break; break;
case 125: case 125:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 878 "go.y" #line 878 "go.y"
{ {
if((yyvsp[(1) - (3)].node)->op == OPACK) { if((yyvsp[(1) - (3)].node)->op == OPACK) {
...@@ -3590,8 +3488,7 @@ yyreduce: ...@@ -3590,8 +3488,7 @@ yyreduce:
break; break;
case 126: case 126:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 889 "go.y" #line 889 "go.y"
{ {
(yyval.node) = nod(ODOTTYPE, (yyvsp[(1) - (5)].node), (yyvsp[(4) - (5)].node)); (yyval.node) = nod(ODOTTYPE, (yyvsp[(1) - (5)].node), (yyvsp[(4) - (5)].node));
...@@ -3599,8 +3496,7 @@ yyreduce: ...@@ -3599,8 +3496,7 @@ yyreduce:
break; break;
case 127: case 127:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 893 "go.y" #line 893 "go.y"
{ {
(yyval.node) = nod(OTYPESW, N, (yyvsp[(1) - (5)].node)); (yyval.node) = nod(OTYPESW, N, (yyvsp[(1) - (5)].node));
...@@ -3608,8 +3504,7 @@ yyreduce: ...@@ -3608,8 +3504,7 @@ yyreduce:
break; break;
case 128: case 128:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 897 "go.y" #line 897 "go.y"
{ {
(yyval.node) = nod(OINDEX, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node)); (yyval.node) = nod(OINDEX, (yyvsp[(1) - (4)].node), (yyvsp[(3) - (4)].node));
...@@ -3617,8 +3512,7 @@ yyreduce: ...@@ -3617,8 +3512,7 @@ yyreduce:
break; break;
case 129: case 129:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 901 "go.y" #line 901 "go.y"
{ {
(yyval.node) = nod(OSLICE, (yyvsp[(1) - (6)].node), nod(OKEY, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node))); (yyval.node) = nod(OSLICE, (yyvsp[(1) - (6)].node), nod(OKEY, (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node)));
...@@ -3626,8 +3520,7 @@ yyreduce: ...@@ -3626,8 +3520,7 @@ yyreduce:
break; break;
case 131: case 131:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 906 "go.y" #line 906 "go.y"
{ {
// conversion // conversion
...@@ -3637,8 +3530,7 @@ yyreduce: ...@@ -3637,8 +3530,7 @@ yyreduce:
break; break;
case 132: case 132:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 912 "go.y" #line 912 "go.y"
{ {
(yyval.node) = (yyvsp[(3) - (5)].node); (yyval.node) = (yyvsp[(3) - (5)].node);
...@@ -3649,8 +3541,7 @@ yyreduce: ...@@ -3649,8 +3541,7 @@ yyreduce:
break; break;
case 133: case 133:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 919 "go.y" #line 919 "go.y"
{ {
(yyval.node) = (yyvsp[(3) - (5)].node); (yyval.node) = (yyvsp[(3) - (5)].node);
...@@ -3660,8 +3551,7 @@ yyreduce: ...@@ -3660,8 +3551,7 @@ yyreduce:
break; break;
case 134: case 134:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 925 "go.y" #line 925 "go.y"
{ {
yyerror("cannot parenthesize type in composite literal"); yyerror("cannot parenthesize type in composite literal");
...@@ -3672,8 +3562,7 @@ yyreduce: ...@@ -3672,8 +3562,7 @@ yyreduce:
break; break;
case 136: case 136:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 934 "go.y" #line 934 "go.y"
{ {
// composite expression. // composite expression.
...@@ -3683,8 +3572,7 @@ yyreduce: ...@@ -3683,8 +3572,7 @@ yyreduce:
break; break;
case 137: case 137:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 942 "go.y" #line 942 "go.y"
{ {
(yyval.node) = nod(OKEY, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); (yyval.node) = nod(OKEY, (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
...@@ -3692,8 +3580,7 @@ yyreduce: ...@@ -3692,8 +3580,7 @@ yyreduce:
break; break;
case 139: case 139:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 949 "go.y" #line 949 "go.y"
{ {
(yyval.node) = (yyvsp[(2) - (4)].node); (yyval.node) = (yyvsp[(2) - (4)].node);
...@@ -3702,8 +3589,7 @@ yyreduce: ...@@ -3702,8 +3589,7 @@ yyreduce:
break; break;
case 141: case 141:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 957 "go.y" #line 957 "go.y"
{ {
(yyval.node) = (yyvsp[(2) - (3)].node); (yyval.node) = (yyvsp[(2) - (3)].node);
...@@ -3723,8 +3609,7 @@ yyreduce: ...@@ -3723,8 +3609,7 @@ yyreduce:
break; break;
case 145: case 145:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 982 "go.y" #line 982 "go.y"
{ {
(yyval.i) = LBODY; (yyval.i) = LBODY;
...@@ -3732,8 +3617,7 @@ yyreduce: ...@@ -3732,8 +3617,7 @@ yyreduce:
break; break;
case 146: case 146:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 986 "go.y" #line 986 "go.y"
{ {
(yyval.i) = '{'; (yyval.i) = '{';
...@@ -3741,8 +3625,7 @@ yyreduce: ...@@ -3741,8 +3625,7 @@ yyreduce:
break; break;
case 147: case 147:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 997 "go.y" #line 997 "go.y"
{ {
if((yyvsp[(1) - (1)].sym) == S) if((yyvsp[(1) - (1)].sym) == S)
...@@ -3753,8 +3636,7 @@ yyreduce: ...@@ -3753,8 +3636,7 @@ yyreduce:
break; break;
case 148: case 148:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1006 "go.y" #line 1006 "go.y"
{ {
(yyval.node) = dclname((yyvsp[(1) - (1)].sym)); (yyval.node) = dclname((yyvsp[(1) - (1)].sym));
...@@ -3762,8 +3644,7 @@ yyreduce: ...@@ -3762,8 +3644,7 @@ yyreduce:
break; break;
case 149: case 149:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1011 "go.y" #line 1011 "go.y"
{ {
(yyval.node) = N; (yyval.node) = N;
...@@ -3771,8 +3652,7 @@ yyreduce: ...@@ -3771,8 +3652,7 @@ yyreduce:
break; break;
case 151: case 151:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1018 "go.y" #line 1018 "go.y"
{ {
(yyval.sym) = (yyvsp[(1) - (1)].sym); (yyval.sym) = (yyvsp[(1) - (1)].sym);
...@@ -3783,8 +3663,7 @@ yyreduce: ...@@ -3783,8 +3663,7 @@ yyreduce:
break; break;
case 153: case 153:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1026 "go.y" #line 1026 "go.y"
{ {
(yyval.sym) = S; (yyval.sym) = S;
...@@ -3792,8 +3671,7 @@ yyreduce: ...@@ -3792,8 +3671,7 @@ yyreduce:
break; break;
case 154: case 154:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1032 "go.y" #line 1032 "go.y"
{ {
if((yyvsp[(2) - (4)].val).u.sval->len == 0) if((yyvsp[(2) - (4)].val).u.sval->len == 0)
...@@ -3804,8 +3682,7 @@ yyreduce: ...@@ -3804,8 +3682,7 @@ yyreduce:
break; break;
case 155: case 155:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1041 "go.y" #line 1041 "go.y"
{ {
(yyval.node) = oldname((yyvsp[(1) - (1)].sym)); (yyval.node) = oldname((yyvsp[(1) - (1)].sym));
...@@ -3815,8 +3692,7 @@ yyreduce: ...@@ -3815,8 +3692,7 @@ yyreduce:
break; break;
case 157: case 157:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1061 "go.y" #line 1061 "go.y"
{ {
yyerror("final argument in variadic function missing type"); yyerror("final argument in variadic function missing type");
...@@ -3825,8 +3701,7 @@ yyreduce: ...@@ -3825,8 +3701,7 @@ yyreduce:
break; break;
case 158: case 158:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1066 "go.y" #line 1066 "go.y"
{ {
(yyval.node) = nod(ODDD, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(ODDD, (yyvsp[(2) - (2)].node), N);
...@@ -3834,8 +3709,7 @@ yyreduce: ...@@ -3834,8 +3709,7 @@ yyreduce:
break; break;
case 164: case 164:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1077 "go.y" #line 1077 "go.y"
{ {
(yyval.node) = nod(OTPAREN, (yyvsp[(2) - (3)].node), N); (yyval.node) = nod(OTPAREN, (yyvsp[(2) - (3)].node), N);
...@@ -3843,8 +3717,7 @@ yyreduce: ...@@ -3843,8 +3717,7 @@ yyreduce:
break; break;
case 168: case 168:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1086 "go.y" #line 1086 "go.y"
{ {
(yyval.node) = nod(OIND, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OIND, (yyvsp[(2) - (2)].node), N);
...@@ -3852,8 +3725,7 @@ yyreduce: ...@@ -3852,8 +3725,7 @@ yyreduce:
break; break;
case 173: case 173:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1096 "go.y" #line 1096 "go.y"
{ {
(yyval.node) = nod(OTPAREN, (yyvsp[(2) - (3)].node), N); (yyval.node) = nod(OTPAREN, (yyvsp[(2) - (3)].node), N);
...@@ -3861,8 +3733,7 @@ yyreduce: ...@@ -3861,8 +3733,7 @@ yyreduce:
break; break;
case 183: case 183:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1117 "go.y" #line 1117 "go.y"
{ {
if((yyvsp[(1) - (3)].node)->op == OPACK) { if((yyvsp[(1) - (3)].node)->op == OPACK) {
...@@ -3877,8 +3748,7 @@ yyreduce: ...@@ -3877,8 +3748,7 @@ yyreduce:
break; break;
case 184: case 184:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1130 "go.y" #line 1130 "go.y"
{ {
(yyval.node) = nod(OTARRAY, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node)); (yyval.node) = nod(OTARRAY, (yyvsp[(2) - (4)].node), (yyvsp[(4) - (4)].node));
...@@ -3886,8 +3756,7 @@ yyreduce: ...@@ -3886,8 +3756,7 @@ yyreduce:
break; break;
case 185: case 185:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1134 "go.y" #line 1134 "go.y"
{ {
// array literal of nelem // array literal of nelem
...@@ -3896,8 +3765,7 @@ yyreduce: ...@@ -3896,8 +3765,7 @@ yyreduce:
break; break;
case 186: case 186:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1139 "go.y" #line 1139 "go.y"
{ {
(yyval.node) = nod(OTCHAN, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OTCHAN, (yyvsp[(2) - (2)].node), N);
...@@ -3906,8 +3774,7 @@ yyreduce: ...@@ -3906,8 +3774,7 @@ yyreduce:
break; break;
case 187: case 187:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1144 "go.y" #line 1144 "go.y"
{ {
(yyval.node) = nod(OTCHAN, (yyvsp[(3) - (3)].node), N); (yyval.node) = nod(OTCHAN, (yyvsp[(3) - (3)].node), N);
...@@ -3916,8 +3783,7 @@ yyreduce: ...@@ -3916,8 +3783,7 @@ yyreduce:
break; break;
case 188: case 188:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1149 "go.y" #line 1149 "go.y"
{ {
(yyval.node) = nod(OTMAP, (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); (yyval.node) = nod(OTMAP, (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));
...@@ -3925,8 +3791,7 @@ yyreduce: ...@@ -3925,8 +3791,7 @@ yyreduce:
break; break;
case 191: case 191:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1157 "go.y" #line 1157 "go.y"
{ {
(yyval.node) = nod(OIND, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OIND, (yyvsp[(2) - (2)].node), N);
...@@ -3934,8 +3799,7 @@ yyreduce: ...@@ -3934,8 +3799,7 @@ yyreduce:
break; break;
case 192: case 192:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1163 "go.y" #line 1163 "go.y"
{ {
(yyval.node) = nod(OTCHAN, (yyvsp[(3) - (3)].node), N); (yyval.node) = nod(OTCHAN, (yyvsp[(3) - (3)].node), N);
...@@ -3944,8 +3808,7 @@ yyreduce: ...@@ -3944,8 +3808,7 @@ yyreduce:
break; break;
case 193: case 193:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1170 "go.y" #line 1170 "go.y"
{ {
(yyval.node) = nod(OTSTRUCT, N, N); (yyval.node) = nod(OTSTRUCT, N, N);
...@@ -3955,8 +3818,7 @@ yyreduce: ...@@ -3955,8 +3818,7 @@ yyreduce:
break; break;
case 194: case 194:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1176 "go.y" #line 1176 "go.y"
{ {
(yyval.node) = nod(OTSTRUCT, N, N); (yyval.node) = nod(OTSTRUCT, N, N);
...@@ -3965,8 +3827,7 @@ yyreduce: ...@@ -3965,8 +3827,7 @@ yyreduce:
break; break;
case 195: case 195:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1183 "go.y" #line 1183 "go.y"
{ {
(yyval.node) = nod(OTINTER, N, N); (yyval.node) = nod(OTINTER, N, N);
...@@ -3976,8 +3837,7 @@ yyreduce: ...@@ -3976,8 +3837,7 @@ yyreduce:
break; break;
case 196: case 196:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1189 "go.y" #line 1189 "go.y"
{ {
(yyval.node) = nod(OTINTER, N, N); (yyval.node) = nod(OTINTER, N, N);
...@@ -3986,8 +3846,7 @@ yyreduce: ...@@ -3986,8 +3846,7 @@ yyreduce:
break; break;
case 197: case 197:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1200 "go.y" #line 1200 "go.y"
{ {
(yyval.node) = (yyvsp[(2) - (3)].node); (yyval.node) = (yyvsp[(2) - (3)].node);
...@@ -4000,8 +3859,7 @@ yyreduce: ...@@ -4000,8 +3859,7 @@ yyreduce:
break; break;
case 198: case 198:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1211 "go.y" #line 1211 "go.y"
{ {
Node *t; Node *t;
...@@ -4034,8 +3892,7 @@ yyreduce: ...@@ -4034,8 +3892,7 @@ yyreduce:
break; break;
case 199: case 199:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1240 "go.y" #line 1240 "go.y"
{ {
Node *rcvr, *t; Node *rcvr, *t;
...@@ -4076,8 +3933,7 @@ yyreduce: ...@@ -4076,8 +3933,7 @@ yyreduce:
break; break;
case 200: case 200:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1279 "go.y" #line 1279 "go.y"
{ {
Sym *s; Sym *s;
...@@ -4104,8 +3960,7 @@ yyreduce: ...@@ -4104,8 +3960,7 @@ yyreduce:
break; break;
case 201: case 201:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1302 "go.y" #line 1302 "go.y"
{ {
(yyval.node) = methodname1(newname((yyvsp[(4) - (8)].sym)), (yyvsp[(2) - (8)].list)->n->right); (yyval.node) = methodname1(newname((yyvsp[(4) - (8)].sym)), (yyvsp[(2) - (8)].list)->n->right);
...@@ -4124,8 +3979,7 @@ yyreduce: ...@@ -4124,8 +3979,7 @@ yyreduce:
break; break;
case 202: case 202:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1319 "go.y" #line 1319 "go.y"
{ {
(yyvsp[(3) - (5)].list) = checkarglist((yyvsp[(3) - (5)].list), 1); (yyvsp[(3) - (5)].list) = checkarglist((yyvsp[(3) - (5)].list), 1);
...@@ -4136,8 +3990,7 @@ yyreduce: ...@@ -4136,8 +3990,7 @@ yyreduce:
break; break;
case 203: case 203:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1327 "go.y" #line 1327 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -4145,8 +3998,7 @@ yyreduce: ...@@ -4145,8 +3998,7 @@ yyreduce:
break; break;
case 204: case 204:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1331 "go.y" #line 1331 "go.y"
{ {
(yyval.list) = (yyvsp[(2) - (3)].list); (yyval.list) = (yyvsp[(2) - (3)].list);
...@@ -4156,8 +4008,7 @@ yyreduce: ...@@ -4156,8 +4008,7 @@ yyreduce:
break; break;
case 205: case 205:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1339 "go.y" #line 1339 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -4165,8 +4016,7 @@ yyreduce: ...@@ -4165,8 +4016,7 @@ yyreduce:
break; break;
case 206: case 206:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1343 "go.y" #line 1343 "go.y"
{ {
(yyval.list) = list1(nod(ODCLFIELD, N, (yyvsp[(1) - (1)].node))); (yyval.list) = list1(nod(ODCLFIELD, N, (yyvsp[(1) - (1)].node)));
...@@ -4174,8 +4024,7 @@ yyreduce: ...@@ -4174,8 +4024,7 @@ yyreduce:
break; break;
case 207: case 207:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1347 "go.y" #line 1347 "go.y"
{ {
(yyvsp[(2) - (3)].list) = checkarglist((yyvsp[(2) - (3)].list), 0); (yyvsp[(2) - (3)].list) = checkarglist((yyvsp[(2) - (3)].list), 0);
...@@ -4184,8 +4033,7 @@ yyreduce: ...@@ -4184,8 +4033,7 @@ yyreduce:
break; break;
case 208: case 208:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1354 "go.y" #line 1354 "go.y"
{ {
closurehdr((yyvsp[(1) - (1)].node)); closurehdr((yyvsp[(1) - (1)].node));
...@@ -4193,8 +4041,7 @@ yyreduce: ...@@ -4193,8 +4041,7 @@ yyreduce:
break; break;
case 209: case 209:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1360 "go.y" #line 1360 "go.y"
{ {
(yyval.node) = closurebody((yyvsp[(3) - (4)].list)); (yyval.node) = closurebody((yyvsp[(3) - (4)].list));
...@@ -4203,8 +4050,7 @@ yyreduce: ...@@ -4203,8 +4050,7 @@ yyreduce:
break; break;
case 210: case 210:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1365 "go.y" #line 1365 "go.y"
{ {
(yyval.node) = closurebody(nil); (yyval.node) = closurebody(nil);
...@@ -4212,8 +4058,7 @@ yyreduce: ...@@ -4212,8 +4058,7 @@ yyreduce:
break; break;
case 211: case 211:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1376 "go.y" #line 1376 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -4221,8 +4066,7 @@ yyreduce: ...@@ -4221,8 +4066,7 @@ yyreduce:
break; break;
case 212: case 212:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1380 "go.y" #line 1380 "go.y"
{ {
(yyval.list) = concat((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.list) = concat((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list));
...@@ -4232,8 +4076,7 @@ yyreduce: ...@@ -4232,8 +4076,7 @@ yyreduce:
break; break;
case 214: case 214:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1389 "go.y" #line 1389 "go.y"
{ {
(yyval.list) = concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); (yyval.list) = concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list));
...@@ -4241,8 +4084,7 @@ yyreduce: ...@@ -4241,8 +4084,7 @@ yyreduce:
break; break;
case 216: case 216:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1396 "go.y" #line 1396 "go.y"
{ {
(yyval.list) = concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); (yyval.list) = concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list));
...@@ -4250,8 +4092,7 @@ yyreduce: ...@@ -4250,8 +4092,7 @@ yyreduce:
break; break;
case 217: case 217:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1402 "go.y" #line 1402 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
...@@ -4259,8 +4100,7 @@ yyreduce: ...@@ -4259,8 +4100,7 @@ yyreduce:
break; break;
case 218: case 218:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1406 "go.y" #line 1406 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
...@@ -4268,8 +4108,7 @@ yyreduce: ...@@ -4268,8 +4108,7 @@ yyreduce:
break; break;
case 220: case 220:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1413 "go.y" #line 1413 "go.y"
{ {
(yyval.list) = concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); (yyval.list) = concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list));
...@@ -4277,8 +4116,7 @@ yyreduce: ...@@ -4277,8 +4116,7 @@ yyreduce:
break; break;
case 221: case 221:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1419 "go.y" #line 1419 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
...@@ -4286,8 +4124,7 @@ yyreduce: ...@@ -4286,8 +4124,7 @@ yyreduce:
break; break;
case 222: case 222:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1423 "go.y" #line 1423 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
...@@ -4295,8 +4132,7 @@ yyreduce: ...@@ -4295,8 +4132,7 @@ yyreduce:
break; break;
case 223: case 223:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1429 "go.y" #line 1429 "go.y"
{ {
NodeList *l; NodeList *l;
...@@ -4323,8 +4159,7 @@ yyreduce: ...@@ -4323,8 +4159,7 @@ yyreduce:
break; break;
case 224: case 224:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1452 "go.y" #line 1452 "go.y"
{ {
(yyvsp[(1) - (2)].node)->val = (yyvsp[(2) - (2)].val); (yyvsp[(1) - (2)].node)->val = (yyvsp[(2) - (2)].val);
...@@ -4333,8 +4168,7 @@ yyreduce: ...@@ -4333,8 +4168,7 @@ yyreduce:
break; break;
case 225: case 225:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1457 "go.y" #line 1457 "go.y"
{ {
(yyvsp[(2) - (4)].node)->val = (yyvsp[(4) - (4)].val); (yyvsp[(2) - (4)].node)->val = (yyvsp[(4) - (4)].val);
...@@ -4344,8 +4178,7 @@ yyreduce: ...@@ -4344,8 +4178,7 @@ yyreduce:
break; break;
case 226: case 226:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1463 "go.y" #line 1463 "go.y"
{ {
(yyvsp[(2) - (3)].node)->right = nod(OIND, (yyvsp[(2) - (3)].node)->right, N); (yyvsp[(2) - (3)].node)->right = nod(OIND, (yyvsp[(2) - (3)].node)->right, N);
...@@ -4355,8 +4188,7 @@ yyreduce: ...@@ -4355,8 +4188,7 @@ yyreduce:
break; break;
case 227: case 227:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1469 "go.y" #line 1469 "go.y"
{ {
(yyvsp[(3) - (5)].node)->right = nod(OIND, (yyvsp[(3) - (5)].node)->right, N); (yyvsp[(3) - (5)].node)->right = nod(OIND, (yyvsp[(3) - (5)].node)->right, N);
...@@ -4367,8 +4199,7 @@ yyreduce: ...@@ -4367,8 +4199,7 @@ yyreduce:
break; break;
case 228: case 228:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1476 "go.y" #line 1476 "go.y"
{ {
(yyvsp[(3) - (5)].node)->right = nod(OIND, (yyvsp[(3) - (5)].node)->right, N); (yyvsp[(3) - (5)].node)->right = nod(OIND, (yyvsp[(3) - (5)].node)->right, N);
...@@ -4379,8 +4210,7 @@ yyreduce: ...@@ -4379,8 +4210,7 @@ yyreduce:
break; break;
case 229: case 229:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1485 "go.y" #line 1485 "go.y"
{ {
Node *n; Node *n;
...@@ -4393,8 +4223,7 @@ yyreduce: ...@@ -4393,8 +4223,7 @@ yyreduce:
break; break;
case 230: case 230:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1494 "go.y" #line 1494 "go.y"
{ {
Pkg *pkg; Pkg *pkg;
...@@ -4411,8 +4240,7 @@ yyreduce: ...@@ -4411,8 +4240,7 @@ yyreduce:
break; break;
case 231: case 231:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1509 "go.y" #line 1509 "go.y"
{ {
(yyval.node) = embedded((yyvsp[(1) - (1)].sym)); (yyval.node) = embedded((yyvsp[(1) - (1)].sym));
...@@ -4420,8 +4248,7 @@ yyreduce: ...@@ -4420,8 +4248,7 @@ yyreduce:
break; break;
case 232: case 232:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1515 "go.y" #line 1515 "go.y"
{ {
(yyval.node) = nod(ODCLFIELD, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); (yyval.node) = nod(ODCLFIELD, (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
...@@ -4430,8 +4257,7 @@ yyreduce: ...@@ -4430,8 +4257,7 @@ yyreduce:
break; break;
case 233: case 233:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1520 "go.y" #line 1520 "go.y"
{ {
(yyval.node) = nod(ODCLFIELD, N, oldname((yyvsp[(1) - (1)].sym))); (yyval.node) = nod(ODCLFIELD, N, oldname((yyvsp[(1) - (1)].sym)));
...@@ -4439,8 +4265,7 @@ yyreduce: ...@@ -4439,8 +4265,7 @@ yyreduce:
break; break;
case 234: case 234:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1524 "go.y" #line 1524 "go.y"
{ {
(yyval.node) = nod(ODCLFIELD, N, oldname((yyvsp[(2) - (3)].sym))); (yyval.node) = nod(ODCLFIELD, N, oldname((yyvsp[(2) - (3)].sym)));
...@@ -4449,8 +4274,7 @@ yyreduce: ...@@ -4449,8 +4274,7 @@ yyreduce:
break; break;
case 235: case 235:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1531 "go.y" #line 1531 "go.y"
{ {
// without func keyword // without func keyword
...@@ -4462,8 +4286,7 @@ yyreduce: ...@@ -4462,8 +4286,7 @@ yyreduce:
break; break;
case 237: case 237:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1545 "go.y" #line 1545 "go.y"
{ {
(yyval.node) = nod(ONONAME, N, N); (yyval.node) = nod(ONONAME, N, N);
...@@ -4473,8 +4296,7 @@ yyreduce: ...@@ -4473,8 +4296,7 @@ yyreduce:
break; break;
case 238: case 238:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1551 "go.y" #line 1551 "go.y"
{ {
(yyval.node) = nod(ONONAME, N, N); (yyval.node) = nod(ONONAME, N, N);
...@@ -4484,8 +4306,7 @@ yyreduce: ...@@ -4484,8 +4306,7 @@ yyreduce:
break; break;
case 240: case 240:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1560 "go.y" #line 1560 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
...@@ -4493,8 +4314,7 @@ yyreduce: ...@@ -4493,8 +4314,7 @@ yyreduce:
break; break;
case 241: case 241:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1564 "go.y" #line 1564 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
...@@ -4502,8 +4322,7 @@ yyreduce: ...@@ -4502,8 +4322,7 @@ yyreduce:
break; break;
case 242: case 242:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1569 "go.y" #line 1569 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -4511,8 +4330,7 @@ yyreduce: ...@@ -4511,8 +4330,7 @@ yyreduce:
break; break;
case 243: case 243:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1573 "go.y" #line 1573 "go.y"
{ {
(yyval.list) = (yyvsp[(1) - (2)].list); (yyval.list) = (yyvsp[(1) - (2)].list);
...@@ -4520,8 +4338,7 @@ yyreduce: ...@@ -4520,8 +4338,7 @@ yyreduce:
break; break;
case 244: case 244:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1581 "go.y" #line 1581 "go.y"
{ {
(yyval.node) = N; (yyval.node) = N;
...@@ -4529,8 +4346,7 @@ yyreduce: ...@@ -4529,8 +4346,7 @@ yyreduce:
break; break;
case 246: case 246:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1586 "go.y" #line 1586 "go.y"
{ {
(yyval.node) = liststmt((yyvsp[(1) - (1)].list)); (yyval.node) = liststmt((yyvsp[(1) - (1)].list));
...@@ -4538,8 +4354,7 @@ yyreduce: ...@@ -4538,8 +4354,7 @@ yyreduce:
break; break;
case 248: case 248:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1591 "go.y" #line 1591 "go.y"
{ {
(yyval.node) = N; (yyval.node) = N;
...@@ -4547,8 +4362,7 @@ yyreduce: ...@@ -4547,8 +4362,7 @@ yyreduce:
break; break;
case 254: case 254:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1602 "go.y" #line 1602 "go.y"
{ {
(yyvsp[(1) - (2)].node) = nod(OLABEL, (yyvsp[(1) - (2)].node), N); (yyvsp[(1) - (2)].node) = nod(OLABEL, (yyvsp[(1) - (2)].node), N);
...@@ -4557,8 +4371,7 @@ yyreduce: ...@@ -4557,8 +4371,7 @@ yyreduce:
break; break;
case 255: case 255:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1607 "go.y" #line 1607 "go.y"
{ {
NodeList *l; NodeList *l;
...@@ -4572,8 +4385,7 @@ yyreduce: ...@@ -4572,8 +4385,7 @@ yyreduce:
break; break;
case 256: case 256:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1617 "go.y" #line 1617 "go.y"
{ {
// will be converted to OFALL // will be converted to OFALL
...@@ -4582,8 +4394,7 @@ yyreduce: ...@@ -4582,8 +4394,7 @@ yyreduce:
break; break;
case 257: case 257:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1622 "go.y" #line 1622 "go.y"
{ {
(yyval.node) = nod(OBREAK, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OBREAK, (yyvsp[(2) - (2)].node), N);
...@@ -4591,8 +4402,7 @@ yyreduce: ...@@ -4591,8 +4402,7 @@ yyreduce:
break; break;
case 258: case 258:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1626 "go.y" #line 1626 "go.y"
{ {
(yyval.node) = nod(OCONTINUE, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OCONTINUE, (yyvsp[(2) - (2)].node), N);
...@@ -4600,8 +4410,7 @@ yyreduce: ...@@ -4600,8 +4410,7 @@ yyreduce:
break; break;
case 259: case 259:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1630 "go.y" #line 1630 "go.y"
{ {
(yyval.node) = nod(OPROC, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OPROC, (yyvsp[(2) - (2)].node), N);
...@@ -4609,8 +4418,7 @@ yyreduce: ...@@ -4609,8 +4418,7 @@ yyreduce:
break; break;
case 260: case 260:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1634 "go.y" #line 1634 "go.y"
{ {
(yyval.node) = nod(ODEFER, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(ODEFER, (yyvsp[(2) - (2)].node), N);
...@@ -4618,8 +4426,7 @@ yyreduce: ...@@ -4618,8 +4426,7 @@ yyreduce:
break; break;
case 261: case 261:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1638 "go.y" #line 1638 "go.y"
{ {
(yyval.node) = nod(OGOTO, (yyvsp[(2) - (2)].node), N); (yyval.node) = nod(OGOTO, (yyvsp[(2) - (2)].node), N);
...@@ -4628,8 +4435,7 @@ yyreduce: ...@@ -4628,8 +4435,7 @@ yyreduce:
break; break;
case 262: case 262:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1643 "go.y" #line 1643 "go.y"
{ {
(yyval.node) = nod(ORETURN, N, N); (yyval.node) = nod(ORETURN, N, N);
...@@ -4650,8 +4456,7 @@ yyreduce: ...@@ -4650,8 +4456,7 @@ yyreduce:
break; break;
case 263: case 263:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1662 "go.y" #line 1662 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -4661,8 +4466,7 @@ yyreduce: ...@@ -4661,8 +4466,7 @@ yyreduce:
break; break;
case 264: case 264:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1668 "go.y" #line 1668 "go.y"
{ {
(yyval.list) = (yyvsp[(1) - (3)].list); (yyval.list) = (yyvsp[(1) - (3)].list);
...@@ -4672,8 +4476,7 @@ yyreduce: ...@@ -4672,8 +4476,7 @@ yyreduce:
break; break;
case 265: case 265:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1676 "go.y" #line 1676 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
...@@ -4681,8 +4484,7 @@ yyreduce: ...@@ -4681,8 +4484,7 @@ yyreduce:
break; break;
case 266: case 266:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1680 "go.y" #line 1680 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
...@@ -4690,8 +4492,7 @@ yyreduce: ...@@ -4690,8 +4492,7 @@ yyreduce:
break; break;
case 267: case 267:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1686 "go.y" #line 1686 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
...@@ -4699,8 +4500,7 @@ yyreduce: ...@@ -4699,8 +4500,7 @@ yyreduce:
break; break;
case 268: case 268:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1690 "go.y" #line 1690 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
...@@ -4708,8 +4508,7 @@ yyreduce: ...@@ -4708,8 +4508,7 @@ yyreduce:
break; break;
case 269: case 269:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1696 "go.y" #line 1696 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
...@@ -4717,8 +4516,7 @@ yyreduce: ...@@ -4717,8 +4516,7 @@ yyreduce:
break; break;
case 270: case 270:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1700 "go.y" #line 1700 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
...@@ -4726,8 +4524,7 @@ yyreduce: ...@@ -4726,8 +4524,7 @@ yyreduce:
break; break;
case 271: case 271:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1706 "go.y" #line 1706 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
...@@ -4735,8 +4532,7 @@ yyreduce: ...@@ -4735,8 +4532,7 @@ yyreduce:
break; break;
case 272: case 272:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1710 "go.y" #line 1710 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
...@@ -4744,8 +4540,7 @@ yyreduce: ...@@ -4744,8 +4540,7 @@ yyreduce:
break; break;
case 273: case 273:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1719 "go.y" #line 1719 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
...@@ -4753,8 +4548,7 @@ yyreduce: ...@@ -4753,8 +4548,7 @@ yyreduce:
break; break;
case 274: case 274:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1723 "go.y" #line 1723 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
...@@ -4762,8 +4556,7 @@ yyreduce: ...@@ -4762,8 +4556,7 @@ yyreduce:
break; break;
case 275: case 275:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1727 "go.y" #line 1727 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
...@@ -4771,8 +4564,7 @@ yyreduce: ...@@ -4771,8 +4564,7 @@ yyreduce:
break; break;
case 276: case 276:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1731 "go.y" #line 1731 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
...@@ -4780,8 +4572,7 @@ yyreduce: ...@@ -4780,8 +4572,7 @@ yyreduce:
break; break;
case 277: case 277:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1736 "go.y" #line 1736 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -4789,8 +4580,7 @@ yyreduce: ...@@ -4789,8 +4580,7 @@ yyreduce:
break; break;
case 278: case 278:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1740 "go.y" #line 1740 "go.y"
{ {
(yyval.list) = (yyvsp[(1) - (2)].list); (yyval.list) = (yyvsp[(1) - (2)].list);
...@@ -4798,8 +4588,7 @@ yyreduce: ...@@ -4798,8 +4588,7 @@ yyreduce:
break; break;
case 283: case 283:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1754 "go.y" #line 1754 "go.y"
{ {
(yyval.node) = N; (yyval.node) = N;
...@@ -4807,8 +4596,7 @@ yyreduce: ...@@ -4807,8 +4596,7 @@ yyreduce:
break; break;
case 285: case 285:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1760 "go.y" #line 1760 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -4816,8 +4604,7 @@ yyreduce: ...@@ -4816,8 +4604,7 @@ yyreduce:
break; break;
case 287: case 287:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1766 "go.y" #line 1766 "go.y"
{ {
(yyval.node) = N; (yyval.node) = N;
...@@ -4825,8 +4612,7 @@ yyreduce: ...@@ -4825,8 +4612,7 @@ yyreduce:
break; break;
case 289: case 289:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1772 "go.y" #line 1772 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -4834,8 +4620,7 @@ yyreduce: ...@@ -4834,8 +4620,7 @@ yyreduce:
break; break;
case 291: case 291:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1778 "go.y" #line 1778 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -4843,8 +4628,7 @@ yyreduce: ...@@ -4843,8 +4628,7 @@ yyreduce:
break; break;
case 293: case 293:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1784 "go.y" #line 1784 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -4852,8 +4636,7 @@ yyreduce: ...@@ -4852,8 +4636,7 @@ yyreduce:
break; break;
case 295: case 295:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1790 "go.y" #line 1790 "go.y"
{ {
(yyval.val).ctype = CTxxx; (yyval.val).ctype = CTxxx;
...@@ -4861,8 +4644,7 @@ yyreduce: ...@@ -4861,8 +4644,7 @@ yyreduce:
break; break;
case 297: case 297:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1800 "go.y" #line 1800 "go.y"
{ {
importimport((yyvsp[(2) - (4)].sym), (yyvsp[(3) - (4)].val).u.sval); importimport((yyvsp[(2) - (4)].sym), (yyvsp[(3) - (4)].val).u.sval);
...@@ -4870,8 +4652,7 @@ yyreduce: ...@@ -4870,8 +4652,7 @@ yyreduce:
break; break;
case 298: case 298:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1804 "go.y" #line 1804 "go.y"
{ {
importvar((yyvsp[(2) - (4)].sym), (yyvsp[(3) - (4)].type)); importvar((yyvsp[(2) - (4)].sym), (yyvsp[(3) - (4)].type));
...@@ -4879,8 +4660,7 @@ yyreduce: ...@@ -4879,8 +4660,7 @@ yyreduce:
break; break;
case 299: case 299:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1808 "go.y" #line 1808 "go.y"
{ {
importconst((yyvsp[(2) - (5)].sym), types[TIDEAL], (yyvsp[(4) - (5)].node)); importconst((yyvsp[(2) - (5)].sym), types[TIDEAL], (yyvsp[(4) - (5)].node));
...@@ -4888,8 +4668,7 @@ yyreduce: ...@@ -4888,8 +4668,7 @@ yyreduce:
break; break;
case 300: case 300:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1812 "go.y" #line 1812 "go.y"
{ {
importconst((yyvsp[(2) - (6)].sym), (yyvsp[(3) - (6)].type), (yyvsp[(5) - (6)].node)); importconst((yyvsp[(2) - (6)].sym), (yyvsp[(3) - (6)].type), (yyvsp[(5) - (6)].node));
...@@ -4897,8 +4676,7 @@ yyreduce: ...@@ -4897,8 +4676,7 @@ yyreduce:
break; break;
case 301: case 301:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1816 "go.y" #line 1816 "go.y"
{ {
importtype((yyvsp[(2) - (4)].type), (yyvsp[(3) - (4)].type)); importtype((yyvsp[(2) - (4)].type), (yyvsp[(3) - (4)].type));
...@@ -4906,8 +4684,7 @@ yyreduce: ...@@ -4906,8 +4684,7 @@ yyreduce:
break; break;
case 302: case 302:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1820 "go.y" #line 1820 "go.y"
{ {
if((yyvsp[(2) - (4)].node) == N) if((yyvsp[(2) - (4)].node) == N)
...@@ -4927,8 +4704,7 @@ yyreduce: ...@@ -4927,8 +4704,7 @@ yyreduce:
break; break;
case 303: case 303:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1838 "go.y" #line 1838 "go.y"
{ {
(yyval.sym) = (yyvsp[(1) - (1)].sym); (yyval.sym) = (yyvsp[(1) - (1)].sym);
...@@ -4937,8 +4713,7 @@ yyreduce: ...@@ -4937,8 +4713,7 @@ yyreduce:
break; break;
case 304: case 304:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1845 "go.y" #line 1845 "go.y"
{ {
(yyval.type) = pkgtype((yyvsp[(1) - (1)].sym)); (yyval.type) = pkgtype((yyvsp[(1) - (1)].sym));
...@@ -4947,8 +4722,7 @@ yyreduce: ...@@ -4947,8 +4722,7 @@ yyreduce:
break; break;
case 310: case 310:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1865 "go.y" #line 1865 "go.y"
{ {
(yyval.type) = pkgtype((yyvsp[(1) - (1)].sym)); (yyval.type) = pkgtype((yyvsp[(1) - (1)].sym));
...@@ -4956,8 +4730,7 @@ yyreduce: ...@@ -4956,8 +4730,7 @@ yyreduce:
break; break;
case 311: case 311:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1869 "go.y" #line 1869 "go.y"
{ {
// predefined name like uint8 // predefined name like uint8
...@@ -4971,8 +4744,7 @@ yyreduce: ...@@ -4971,8 +4744,7 @@ yyreduce:
break; break;
case 312: case 312:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1879 "go.y" #line 1879 "go.y"
{ {
(yyval.type) = aindex(N, (yyvsp[(3) - (3)].type)); (yyval.type) = aindex(N, (yyvsp[(3) - (3)].type));
...@@ -4980,8 +4752,7 @@ yyreduce: ...@@ -4980,8 +4752,7 @@ yyreduce:
break; break;
case 313: case 313:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1883 "go.y" #line 1883 "go.y"
{ {
(yyval.type) = aindex(nodlit((yyvsp[(2) - (4)].val)), (yyvsp[(4) - (4)].type)); (yyval.type) = aindex(nodlit((yyvsp[(2) - (4)].val)), (yyvsp[(4) - (4)].type));
...@@ -4989,8 +4760,7 @@ yyreduce: ...@@ -4989,8 +4760,7 @@ yyreduce:
break; break;
case 314: case 314:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1887 "go.y" #line 1887 "go.y"
{ {
(yyval.type) = maptype((yyvsp[(3) - (5)].type), (yyvsp[(5) - (5)].type)); (yyval.type) = maptype((yyvsp[(3) - (5)].type), (yyvsp[(5) - (5)].type));
...@@ -4998,8 +4768,7 @@ yyreduce: ...@@ -4998,8 +4768,7 @@ yyreduce:
break; break;
case 315: case 315:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1891 "go.y" #line 1891 "go.y"
{ {
(yyval.type) = tostruct((yyvsp[(3) - (4)].list)); (yyval.type) = tostruct((yyvsp[(3) - (4)].list));
...@@ -5007,8 +4776,7 @@ yyreduce: ...@@ -5007,8 +4776,7 @@ yyreduce:
break; break;
case 316: case 316:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1895 "go.y" #line 1895 "go.y"
{ {
(yyval.type) = tointerface((yyvsp[(3) - (4)].list)); (yyval.type) = tointerface((yyvsp[(3) - (4)].list));
...@@ -5016,8 +4784,7 @@ yyreduce: ...@@ -5016,8 +4784,7 @@ yyreduce:
break; break;
case 317: case 317:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1899 "go.y" #line 1899 "go.y"
{ {
(yyval.type) = ptrto((yyvsp[(2) - (2)].type)); (yyval.type) = ptrto((yyvsp[(2) - (2)].type));
...@@ -5025,8 +4792,7 @@ yyreduce: ...@@ -5025,8 +4792,7 @@ yyreduce:
break; break;
case 318: case 318:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1903 "go.y" #line 1903 "go.y"
{ {
(yyval.type) = typ(TCHAN); (yyval.type) = typ(TCHAN);
...@@ -5036,8 +4802,7 @@ yyreduce: ...@@ -5036,8 +4802,7 @@ yyreduce:
break; break;
case 319: case 319:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1909 "go.y" #line 1909 "go.y"
{ {
(yyval.type) = typ(TCHAN); (yyval.type) = typ(TCHAN);
...@@ -5047,8 +4812,7 @@ yyreduce: ...@@ -5047,8 +4812,7 @@ yyreduce:
break; break;
case 320: case 320:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1915 "go.y" #line 1915 "go.y"
{ {
(yyval.type) = typ(TCHAN); (yyval.type) = typ(TCHAN);
...@@ -5058,8 +4822,7 @@ yyreduce: ...@@ -5058,8 +4822,7 @@ yyreduce:
break; break;
case 321: case 321:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1923 "go.y" #line 1923 "go.y"
{ {
(yyval.type) = typ(TCHAN); (yyval.type) = typ(TCHAN);
...@@ -5069,8 +4832,7 @@ yyreduce: ...@@ -5069,8 +4832,7 @@ yyreduce:
break; break;
case 322: case 322:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1931 "go.y" #line 1931 "go.y"
{ {
(yyval.type) = functype(nil, (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list)); (yyval.type) = functype(nil, (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list));
...@@ -5078,8 +4840,7 @@ yyreduce: ...@@ -5078,8 +4840,7 @@ yyreduce:
break; break;
case 323: case 323:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1937 "go.y" #line 1937 "go.y"
{ {
(yyval.node) = nod(ODCLFIELD, N, typenod((yyvsp[(2) - (3)].type))); (yyval.node) = nod(ODCLFIELD, N, typenod((yyvsp[(2) - (3)].type)));
...@@ -5090,8 +4851,7 @@ yyreduce: ...@@ -5090,8 +4851,7 @@ yyreduce:
break; break;
case 324: case 324:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1944 "go.y" #line 1944 "go.y"
{ {
Type *t; Type *t;
...@@ -5109,8 +4869,7 @@ yyreduce: ...@@ -5109,8 +4869,7 @@ yyreduce:
break; break;
case 325: case 325:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1960 "go.y" #line 1960 "go.y"
{ {
Sym *s; Sym *s;
...@@ -5130,8 +4889,7 @@ yyreduce: ...@@ -5130,8 +4889,7 @@ yyreduce:
break; break;
case 326: case 326:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1978 "go.y" #line 1978 "go.y"
{ {
(yyval.node) = nod(ODCLFIELD, newname((yyvsp[(1) - (5)].sym)), typenod(functype(fakethis(), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list)))); (yyval.node) = nod(ODCLFIELD, newname((yyvsp[(1) - (5)].sym)), typenod(functype(fakethis(), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list))));
...@@ -5139,8 +4897,7 @@ yyreduce: ...@@ -5139,8 +4897,7 @@ yyreduce:
break; break;
case 327: case 327:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1982 "go.y" #line 1982 "go.y"
{ {
(yyval.node) = nod(ODCLFIELD, N, typenod((yyvsp[(1) - (1)].type))); (yyval.node) = nod(ODCLFIELD, N, typenod((yyvsp[(1) - (1)].type)));
...@@ -5148,8 +4905,7 @@ yyreduce: ...@@ -5148,8 +4905,7 @@ yyreduce:
break; break;
case 328: case 328:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1987 "go.y" #line 1987 "go.y"
{ {
(yyval.list) = nil; (yyval.list) = nil;
...@@ -5157,8 +4913,7 @@ yyreduce: ...@@ -5157,8 +4913,7 @@ yyreduce:
break; break;
case 330: case 330:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1994 "go.y" #line 1994 "go.y"
{ {
(yyval.list) = (yyvsp[(2) - (3)].list); (yyval.list) = (yyvsp[(2) - (3)].list);
...@@ -5166,8 +4921,7 @@ yyreduce: ...@@ -5166,8 +4921,7 @@ yyreduce:
break; break;
case 331: case 331:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 1998 "go.y" #line 1998 "go.y"
{ {
(yyval.list) = list1(nod(ODCLFIELD, N, typenod((yyvsp[(1) - (1)].type)))); (yyval.list) = list1(nod(ODCLFIELD, N, typenod((yyvsp[(1) - (1)].type))));
...@@ -5175,8 +4929,7 @@ yyreduce: ...@@ -5175,8 +4929,7 @@ yyreduce:
break; break;
case 332: case 332:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 2008 "go.y" #line 2008 "go.y"
{ {
(yyval.node) = nodlit((yyvsp[(1) - (1)].val)); (yyval.node) = nodlit((yyvsp[(1) - (1)].val));
...@@ -5184,8 +4937,7 @@ yyreduce: ...@@ -5184,8 +4937,7 @@ yyreduce:
break; break;
case 333: case 333:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 2012 "go.y" #line 2012 "go.y"
{ {
(yyval.node) = nodlit((yyvsp[(2) - (2)].val)); (yyval.node) = nodlit((yyvsp[(2) - (2)].val));
...@@ -5204,8 +4956,7 @@ yyreduce: ...@@ -5204,8 +4956,7 @@ yyreduce:
break; break;
case 334: case 334:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 2027 "go.y" #line 2027 "go.y"
{ {
(yyval.node) = oldname(pkglookup((yyvsp[(1) - (1)].sym)->name, builtinpkg)); (yyval.node) = oldname(pkglookup((yyvsp[(1) - (1)].sym)->name, builtinpkg));
...@@ -5215,8 +4966,7 @@ yyreduce: ...@@ -5215,8 +4966,7 @@ yyreduce:
break; break;
case 336: case 336:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */
#line 2036 "go.y" #line 2036 "go.y"
{ {
if((yyvsp[(2) - (5)].node)->val.ctype == CTRUNE && (yyvsp[(4) - (5)].node)->val.ctype == CTINT) { if((yyvsp[(2) - (5)].node)->val.ctype == CTRUNE && (yyvsp[(4) - (5)].node)->val.ctype == CTINT) {
...@@ -5224,68 +4974,63 @@ yyreduce: ...@@ -5224,68 +4974,63 @@ yyreduce:
mpaddfixfix((yyvsp[(2) - (5)].node)->val.u.xval, (yyvsp[(4) - (5)].node)->val.u.xval, 0); mpaddfixfix((yyvsp[(2) - (5)].node)->val.u.xval, (yyvsp[(4) - (5)].node)->val.u.xval, 0);
break; break;
} }
(yyvsp[(4) - (5)].node)->val.u.cval->real = (yyvsp[(4) - (5)].node)->val.u.cval->imag;
mpmovecflt(&(yyvsp[(4) - (5)].node)->val.u.cval->imag, 0.0);
(yyval.node) = nodcplxlit((yyvsp[(2) - (5)].node)->val, (yyvsp[(4) - (5)].node)->val); (yyval.node) = nodcplxlit((yyvsp[(2) - (5)].node)->val, (yyvsp[(4) - (5)].node)->val);
} }
break; break;
case 339: case 339:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */ #line 2052 "go.y"
#line 2050 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
break; break;
case 340: case 340:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */ #line 2056 "go.y"
#line 2054 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
break; break;
case 341: case 341:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */ #line 2062 "go.y"
#line 2060 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
break; break;
case 342: case 342:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */ #line 2066 "go.y"
#line 2064 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
break; break;
case 343: case 343:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */ #line 2072 "go.y"
#line 2070 "go.y"
{ {
(yyval.list) = list1((yyvsp[(1) - (1)].node)); (yyval.list) = list1((yyvsp[(1) - (1)].node));
} }
break; break;
case 344: case 344:
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */ #line 2076 "go.y"
#line 2074 "go.y"
{ {
(yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); (yyval.list) = list((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
} }
break; break;
/* Line 1787 of yacc.c */
/* Line 1806 of yacc.c */ #line 5035 "y.tab.c"
#line 5290 "y.tab.c"
default: break; default: break;
} }
/* User semantic actions sometimes alter yychar, and that requires /* User semantic actions sometimes alter yychar, and that requires
...@@ -5472,7 +5217,7 @@ yyabortlab: ...@@ -5472,7 +5217,7 @@ yyabortlab:
yyresult = 1; yyresult = 1;
goto yyreturn; goto yyreturn;
#if !defined(yyoverflow) || YYERROR_VERBOSE #if !defined yyoverflow || YYERROR_VERBOSE
/*-------------------------------------------------. /*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. | | yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/ `-------------------------------------------------*/
...@@ -5514,9 +5259,8 @@ yyreturn: ...@@ -5514,9 +5259,8 @@ yyreturn:
} }
/* Line 2048 of yacc.c */
/* Line 2067 of yacc.c */ #line 2080 "go.y"
#line 2078 "go.y"
static void static void
...@@ -5529,4 +5273,3 @@ fixlbrace(int lbr) ...@@ -5529,4 +5273,3 @@ fixlbrace(int lbr)
loophack = 1; loophack = 1;
} }
/* A Bison parser, made by GNU Bison 2.5. */ /* A Bison parser, made by GNU Bison 2.6.2. */
/* Bison interface for Yacc-like parsers in C /* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
...@@ -30,6 +30,15 @@ ...@@ -30,6 +30,15 @@
This special exception was added by the Free Software Foundation in This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */ version 2.2 of Bison. */
#ifndef YY_Y_TAB_H
# define YY_Y_TAB_H
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int yydebug;
#endif
/* Tokens. */ /* Tokens. */
#ifndef YYTOKENTYPE #ifndef YYTOKENTYPE
...@@ -141,12 +150,10 @@ ...@@ -141,12 +150,10 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE typedef union YYSTYPE
{ {
/* Line 2049 of yacc.c */
/* Line 2068 of yacc.c */
#line 28 "go.y" #line 28 "go.y"
Node* node; Node* node;
...@@ -157,9 +164,8 @@ typedef union YYSTYPE ...@@ -157,9 +164,8 @@ typedef union YYSTYPE
int i; int i;
/* Line 2049 of yacc.c */
/* Line 2068 of yacc.c */ #line 169 "y.tab.h"
#line 163 "y.tab.h"
} YYSTYPE; } YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
...@@ -168,4 +174,18 @@ typedef union YYSTYPE ...@@ -168,4 +174,18 @@ typedef union YYSTYPE
extern YYSTYPE yylval; extern YYSTYPE yylval;
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
#else
int yyparse ();
#endif
#else /* ! YYPARSE_PARAM */
#if defined __STDC__ || defined __cplusplus
int yyparse (void);
#else
int yyparse ();
#endif
#endif /* ! YYPARSE_PARAM */
#endif /* !YY_Y_TAB_H */
...@@ -681,7 +681,7 @@ func (p *gcParser) parseNumber() Const { ...@@ -681,7 +681,7 @@ func (p *gcParser) parseNumber() Const {
// ConstDecl = "const" ExportedName [ Type ] "=" Literal . // ConstDecl = "const" ExportedName [ Type ] "=" Literal .
// Literal = bool_lit | int_lit | float_lit | complex_lit | string_lit . // Literal = bool_lit | int_lit | float_lit | complex_lit | string_lit .
// bool_lit = "true" | "false" . // bool_lit = "true" | "false" .
// complex_lit = "(" float_lit "+" float_lit ")" . // complex_lit = "(" float_lit "+" float_lit "i" ")" .
// rune_lit = "(" int_lit "+" int_lit ")" . // rune_lit = "(" int_lit "+" int_lit ")" .
// string_lit = `"` { unicode_char } `"` . // string_lit = `"` { unicode_char } `"` .
// //
...@@ -725,6 +725,7 @@ func (p *gcParser) parseConstDecl() { ...@@ -725,6 +725,7 @@ func (p *gcParser) parseConstDecl() {
re := p.parseNumber() re := p.parseNumber()
p.expect('+') p.expect('+')
im := p.parseNumber() im := p.parseNumber()
p.expectKeyword("i")
p.expect(')') p.expect(')')
x = Const{cmplx{re.val.(*big.Rat), im.val.(*big.Rat)}} x = Const{cmplx{re.val.(*big.Rat), im.val.(*big.Rat)}}
typ = Complex128.Underlying typ = Complex128.Underlying
......
...@@ -687,7 +687,7 @@ func (p *gcParser) parseNumber() (x operand) { ...@@ -687,7 +687,7 @@ func (p *gcParser) parseNumber() (x operand) {
// ConstDecl = "const" ExportedName [ Type ] "=" Literal . // ConstDecl = "const" ExportedName [ Type ] "=" Literal .
// Literal = bool_lit | int_lit | float_lit | complex_lit | rune_lit | string_lit . // Literal = bool_lit | int_lit | float_lit | complex_lit | rune_lit | string_lit .
// bool_lit = "true" | "false" . // bool_lit = "true" | "false" .
// complex_lit = "(" float_lit "+" float_lit ")" . // complex_lit = "(" float_lit "+" float_lit "i" ")" .
// rune_lit = "(" int_lit "+" int_lit ")" . // rune_lit = "(" int_lit "+" int_lit ")" .
// string_lit = `"` { unicode_char } `"` . // string_lit = `"` { unicode_char } `"` .
// //
...@@ -728,6 +728,7 @@ func (p *gcParser) parseConstDecl() { ...@@ -728,6 +728,7 @@ func (p *gcParser) parseConstDecl() {
re := p.parseNumber() re := p.parseNumber()
p.expect('+') p.expect('+')
im := p.parseNumber() im := p.parseNumber()
p.expectKeyword("i")
p.expect(')') p.expect(')')
x.typ = Typ[UntypedComplex] x.typ = Typ[UntypedComplex]
// TODO(gri) fix this // TODO(gri) fix this
......
// Copyright 2012 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.
package a
const N = 2+3i
func Func() []complex128 {
return []complex128{1, complex(2, 3), complex(4, 5)}
}
func Mul(z complex128) complex128 {
return z * (3 + 4i)
}
// Copyright 2012 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.
package main
import "./a"
func main() {
s := a.Func()
if s[0] != 1 {
println(s[0])
panic("s[0] != 1")
}
if s[1] != 2+3i {
println(s[1])
panic("s[1] != 2+3i")
}
if s[2] != 4+5i {
println(s[2])
panic("s[2] != 4+5i")
}
x := 1 + 2i
y := a.Mul(x)
if y != (1+2i)*(3+4i) {
println(y)
panic("y != (1+2i)*(3+4i)")
}
}
// rundir
// Copyright 2012 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.
// Issue 4159: exported inlinable functions squash
// complex literals "a+bi" to "a+b".
package ignored
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment