From 487f76ba391541aa45fbe68e27185804be49fb77 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Wed, 13 Apr 2016 11:00:40 -0400 Subject: [PATCH 76/91] FIXME: move in_fname into rtx_reader and rename to m_toplevel_fname --- gcc/genpreds.c | 9 ++++++--- gcc/read-md.c | 18 ++++++++---------- gcc/read-md.h | 4 +++- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/gcc/genpreds.c b/gcc/genpreds.c index dd7dbbf..ac03103 100644 --- a/gcc/genpreds.c +++ b/gcc/genpreds.c @@ -1204,7 +1204,8 @@ write_tm_constrs_h (void) printf ("\ /* Generated automatically by the program '%s'\n\ - from the machine description file '%s'. */\n\n", progname, in_fname); + from the machine description file '%s'. */\n\n", progname, + rtx_reader_ptr->get_top_level_filename ()); puts ("\ #ifndef GCC_TM_CONSTRS_H\n\ @@ -1403,7 +1404,8 @@ write_tm_preds_h (void) printf ("\ /* Generated automatically by the program '%s'\n\ - from the machine description file '%s'. */\n\n", progname, in_fname); + from the machine description file '%s'. */\n\n", progname, + rtx_reader_ptr->get_top_level_filename ()); puts ("\ #ifndef GCC_TM_PREDS_H\n\ @@ -1552,7 +1554,8 @@ write_insn_preds_c (void) printf ("\ /* Generated automatically by the program '%s'\n\ - from the machine description file '%s'. */\n\n", progname, in_fname); + from the machine description file '%s'. */\n\n", progname, + rtx_reader_ptr->get_top_level_filename ()); puts ("\ #include \"config.h\"\n\ diff --git a/gcc/read-md.c b/gcc/read-md.c index 816742b..1087074 100644 --- a/gcc/read-md.c +++ b/gcc/read-md.c @@ -59,9 +59,6 @@ static htab_t joined_conditions; /* An obstack for allocating joined_conditions entries. */ static struct obstack joined_conditions_obstack; -/* The name of the toplevel file that indirectly included READ_MD_FILE. */ -const char *in_fname; - /* The directory part of IN_FNAME. NULL if IN_FNAME is a bare filename. */ static char *base_dir; @@ -1072,6 +1069,7 @@ static line_maps *rtx_reader_line_table; rtx_reader::rtx_reader (line_maps *line_table) : m_line_table (line_table), m_current_linemap (NULL), + m_toplevel_fname (NULL), m_read_md_filename (NULL), m_read_md_lineno (0), m_read_md_colno (0) @@ -1205,24 +1203,24 @@ rtx_reader::handle_file () fclose (m_read_md_file); } -/* Like handle_file, but for top-level files. Set up in_fname and - base_dir accordingly. */ +/* Like handle_file, but for top-level files. Set up m_toplevel_fname + and base_dir accordingly. */ void rtx_reader::handle_toplevel_file () { const char *base; - in_fname = m_read_md_filename; - base = lbasename (in_fname); - if (base == in_fname) + m_toplevel_fname = m_read_md_filename; + base = lbasename (m_toplevel_fname); + if (base == m_toplevel_fname) base_dir = NULL; else - base_dir = xstrndup (in_fname, base - in_fname); + base_dir = xstrndup (m_toplevel_fname, base - m_toplevel_fname); m_current_linemap = linemap_check_ordinary (linemap_add (m_line_table, LC_ENTER, 0, - in_fname, 1)); + m_toplevel_fname, 1)); handle_file (); } diff --git a/gcc/read-md.h b/gcc/read-md.h index 032e597..158fd1b 100644 --- a/gcc/read-md.h +++ b/gcc/read-md.h @@ -136,6 +136,7 @@ class rtx_reader int read_char (void); void unread_char (int ch); + const char *get_top_level_filename () const { return m_toplevel_fname; } const char *get_filename () const { return m_read_md_filename; } int get_lineno () const { return m_read_md_lineno; } @@ -148,6 +149,8 @@ class rtx_reader line_maps *m_line_table; const line_map_ordinary *m_current_linemap; + const char *m_toplevel_fname; + /* The file we are reading. */ FILE *m_read_md_file; @@ -168,7 +171,6 @@ class noop_reader : public rtx_reader void handle_unknown_directive (file_location, const char *); }; -extern const char *in_fname; extern struct obstack string_obstack; extern void (*include_callback) (const char *); -- 1.8.5.3