mirror of
https://git.savannah.gnu.org/git/gperf.git
synced 2025-12-02 13:09:22 +00:00
Initialize the Keyword::_lineno field through the constructor.
This commit is contained in:
12
ChangeLog
12
ChangeLog
@@ -1,3 +1,15 @@
|
||||
2017-04-16 Bruno Haible <bruno@clisp.org>
|
||||
|
||||
Initialize the Keyword::_lineno field through the constructor.
|
||||
* src/keyword.h (struct Keyword, struct KeywordExt): Add lineno argument
|
||||
to constructor.
|
||||
(Keyword_Factory::create_keyword): Add lineno argument.
|
||||
* src/keyword.icc (struct Keyword, struct KeywordExt): Add lineno
|
||||
argument to constructor.
|
||||
* src/main.cc (KeywordExt_Factory::create_keyword): Pass lineno argument
|
||||
to KeywordExt constructor.
|
||||
* src/input.cc (Input::read_input): Pass lineno to create_keyword.
|
||||
|
||||
2017-03-31 Bruno Haible <bruno@clisp.org>
|
||||
|
||||
Fix doc build error with perl 5.22.
|
||||
|
||||
@@ -972,8 +972,7 @@ Input::read_input ()
|
||||
|
||||
/* Allocate Keyword and add it to the list. */
|
||||
Keyword *new_kw = _factory->create_keyword (keyword, keyword_length,
|
||||
rest);
|
||||
new_kw->_lineno = lineno;
|
||||
rest, lineno);
|
||||
*list_tail = new Keyword_List (new_kw);
|
||||
list_tail = &(*list_tail)->rest();
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/* Keyword data.
|
||||
|
||||
Copyright (C) 1989-1998, 2000, 2002-2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-1998, 2000, 2002-2003, 2017 Free Software Foundation, Inc.
|
||||
Written by Douglas C. Schmidt <schmidt@ics.uci.edu>
|
||||
and Bruno Haible <bruno@clisp.org>.
|
||||
|
||||
@@ -33,7 +33,7 @@ struct Keyword
|
||||
{
|
||||
/* Constructor. */
|
||||
Keyword (const char *allchars, int allchars_length,
|
||||
const char *rest);
|
||||
const char *rest, unsigned int lineno);
|
||||
|
||||
/* Data members defined immediately by the input file. */
|
||||
/* The keyword as a string, possibly containing NUL bytes. */
|
||||
@@ -51,7 +51,7 @@ struct KeywordExt : public Keyword
|
||||
{
|
||||
/* Constructor. */
|
||||
KeywordExt (const char *allchars, int allchars_length,
|
||||
const char *rest);
|
||||
const char *rest, unsigned int lineno);
|
||||
|
||||
/* Data members depending on the keyposition list. */
|
||||
/* The selected characters that participate for the hash function,
|
||||
@@ -97,7 +97,7 @@ public:
|
||||
/* Creates a new Keyword. */
|
||||
virtual /*abstract*/ Keyword *
|
||||
create_keyword (const char *allchars, int allchars_length,
|
||||
const char *rest) = 0;
|
||||
const char *rest, unsigned int lineno) = 0;
|
||||
};
|
||||
|
||||
/* A statically allocated empty string. */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Inline Functions for keyword.{h,cc}.
|
||||
|
||||
Copyright (C) 1989-1998, 2000, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-1998, 2000, 2002, 2017 Free Software Foundation, Inc.
|
||||
Written by Douglas C. Schmidt <schmidt@ics.uci.edu>
|
||||
and Bruno Haible <bruno@clisp.org>.
|
||||
|
||||
@@ -23,8 +23,10 @@
|
||||
|
||||
/* Constructor. */
|
||||
INLINE
|
||||
Keyword::Keyword (const char *allchars, int allchars_length, const char *rest)
|
||||
: _allchars (allchars), _allchars_length (allchars_length), _rest (rest)
|
||||
Keyword::Keyword (const char *allchars, int allchars_length,
|
||||
const char *rest, unsigned int lineno)
|
||||
: _allchars (allchars), _allchars_length (allchars_length),
|
||||
_rest (rest), _lineno (lineno)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -33,8 +35,9 @@ Keyword::Keyword (const char *allchars, int allchars_length, const char *rest)
|
||||
|
||||
/* Constructor. */
|
||||
INLINE
|
||||
KeywordExt::KeywordExt (const char *allchars, int allchars_length, const char *rest)
|
||||
: Keyword (allchars, allchars_length, rest),
|
||||
KeywordExt::KeywordExt (const char *allchars, int allchars_length,
|
||||
const char *rest, unsigned int lineno)
|
||||
: Keyword (allchars, allchars_length, rest, lineno),
|
||||
_final_index (-1)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Driver program for the hash function generator
|
||||
Copyright (C) 1989-1998, 2000, 2002-2003, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-1998, 2000, 2002-2003, 2009, 2017 Free Software Foundation, Inc.
|
||||
Written by Douglas C. Schmidt <schmidt@ics.uci.edu>
|
||||
and Bruno Haible <bruno@clisp.org>.
|
||||
|
||||
@@ -34,13 +34,14 @@
|
||||
class KeywordExt_Factory : public Keyword_Factory
|
||||
{
|
||||
virtual Keyword * create_keyword (const char *allchars, int allchars_length,
|
||||
const char *rest);
|
||||
const char *rest, unsigned int lineno);
|
||||
};
|
||||
|
||||
Keyword *
|
||||
KeywordExt_Factory::create_keyword (const char *allchars, int allchars_length, const char *rest)
|
||||
KeywordExt_Factory::create_keyword (const char *allchars, int allchars_length,
|
||||
const char *rest, unsigned int lineno)
|
||||
{
|
||||
return new KeywordExt (allchars, allchars_length, rest);
|
||||
return new KeywordExt (allchars, allchars_length, rest, lineno);
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
Reference in New Issue
Block a user