From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31912 invoked by alias); 4 Jul 2013 15:39:39 -0000 Mailing-List: contact insight-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: insight-owner@sourceware.org Received: (qmail 31902 invoked by uid 89); 4 Jul 2013 15:39:39 -0000 X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,RP_MATCHES_RCVD,SPF_PASS,TW_YY autolearn=ham version=3.3.1 Received: from shark1.inbox.lv (HELO shark1.inbox.lv) (89.111.3.81) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Thu, 04 Jul 2013 15:39:32 +0000 Received: from mail.inbox.lv (pop1 [10.0.1.110]) by shark1-plain.inbox.lv (Postfix) with ESMTP id 4259C95FE; Thu, 4 Jul 2013 18:39:30 +0300 (EEST) Received: from inbox.lv (unknown [77.127.63.24]) (Authenticated sender: codeblue@inbox.lv) by mail.inbox.lv (Postfix) with ESMTPSA id 4A02520EF1; Thu, 4 Jul 2013 18:39:27 +0300 (EEST) Date: Thu, 04 Jul 2013 15:39:00 -0000 From: John Long To: Pierre Muller Cc: insight@sourceware.org Subject: Re: Build problem on OpenBSD MIPS Message-ID: <20130704153924.GB9402@inbox.lv> References: <20130704145949.GA9402@inbox.lv> <000001ce78ca$4da37d10$e8ea7730$@muller@ics-cnrs.unistra.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <000001ce78ca$4da37d10$e8ea7730$@muller@ics-cnrs.unistra.fr> User-Agent: Mutt/1.5.21 (2010-09-15) X-SW-Source: 2013-q3/txt/msg00008.txt.bz2 On Thu, Jul 04, 2013 at 05:22:30PM +0200, Pierre Muller wrote: > Maybe it is a problem with the tool that is used > to generate the c-exp.c from the c-exp.y source. > > I have the impression that OpenBSD often tends to still use old GNU tools... > > On my successful build, > c_print_token is used in YYPRINT macro: > > $ grep YYPRINT c-*.c -n -A 5 > 398:#define YYPRINT(FILE, TYPE, VALUE) c_print_token (FILE, TYPE, VALUE) > 399- > 400-/* Line 390 of yacc.c */ > 401-#line 402 "c-exp.c" > 402- > 403-#ifdef short > -- > 867:# ifdef YYPRINT > 868-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to > 869- token YYLEX-NUM. */ > 870-static const yytype_uint16 yytoknum[] = > 871-{ > 872- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, > -- > 1589:# ifdef YYPRINT > 1590- if (yytype < YYNTOKENS) > 1591: YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); > 1592-# else > 1593- YYUSE (yyoutput); > 1594-# endif > 1595- switch (yytype) > 1596- { > -- > 5989:/* This is called via the YYPRINT macro when parser debugging is > 5990- enabled. It prints a token's value. */ > 5991- > 5992-static void > 5993-c_print_token (FILE *file, int type, YYSTYPE value) > 5994-{ > > $ head c-exp.c > /* A Bison parser, made by GNU Bison 2.7. */ > > /* Bison implementation for Yacc-like parsers in C > > Could you check if YYPRINT is used in your c-exp.c file, > and which tool was used to create it (it will probably be mentioned > in the header like here). > > > Pierre Muller > Hi, I have no idea what I am doing so I just tried your commands as is. Here is the output: grep YYPRINT c-*.c -n -A 5 146:#define YYPRINT(FILE, TYPE, VALUE) c_print_token (FILE, TYPE, VALUE) 147-#line 148 "c-exp.c" 148-#define INT 257 149-#define FLOAT 258 150-#define DECFLOAT 259 151-#define STRING 260 4233:/* This is called via the YYPRINT macro when parser debugging is 4234- enabled. It prints a token's value. */ 4235- 4236-static void 4237-c_print_token (FILE *file, int type, YYSTYPE value) 4238-{ user:/tmp/insight-cvs/insight/gdb$ head c-exp.c #include #include #define YYBYACC 1 #define YYMAJOR 1 #define YYMINOR 9 #define YYLEX yylex() #define YYEMPTY -1 #define yyclearin (yychar=(YYEMPTY)) #define yyerrok (yyerrflag=0) #define YYRECOVERING() (yyerrflag!=0) user:/tmp/insight-cvs/insight/gdb$ I don't see that YYPRINT is used anywhere else in c-exp.c Does the following suggest this isn't going to be used in a normal build? /* This is called via the YYPRINT macro when parser debugging is enabled. It prints a token's value. */ static void c_print_token (FILE *file, int type, YYSTYPE value) { switch (type) { case INT: fprintf (file, "typed_val_int<%s, %s>", TYPE_SAFE_NAME (value.typed_val_int.type), Thanks, /jl