mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-12-19 01:19:41 +08:00
sim: igen: clean up headers a bit
Add standard multiple inclusion protection, and add a few missing local includes when one header uses another. This isn't complete, but fixes some short comings seen when merging the ppc igen.
This commit is contained in:
@@ -19,6 +19,10 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef IGEN_FILTER_H
|
||||
#define IGEN_FILTER_H
|
||||
|
||||
#include "lf.h"
|
||||
|
||||
/* NB, an empty filter is NULL */
|
||||
typedef struct _filter filter;
|
||||
@@ -68,3 +72,5 @@ const char *filter_next (const filter *set, const char *member);
|
||||
|
||||
extern void dump_filter
|
||||
(lf *file, const char *prefix, const filter *filt, const char *suffix);
|
||||
|
||||
#endif /* IGEN_FILTER_H */
|
||||
|
||||
@@ -19,9 +19,10 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _FILTER_HOST_H
|
||||
#define _FILTER_HOST_H
|
||||
#ifndef IGEN_FILTER_HOST_H
|
||||
#define IGEN_FILTER_HOST_H
|
||||
|
||||
/* Remove directory part from filename */
|
||||
extern const char *filter_filename (const char *filename);
|
||||
#endif
|
||||
|
||||
#endif /* IGEN_FILTER_HOST_H */
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef IGEN_GEN_ENGINE_H
|
||||
#define IGEN_GEN_ENGINE_H
|
||||
|
||||
extern void gen_engine_h
|
||||
(lf *file, const gen_table *gen, const insn_table *isa,
|
||||
cache_entry *cache_rules);
|
||||
@@ -29,3 +32,5 @@ extern void gen_engine_c
|
||||
|
||||
extern void print_engine_run_function_header
|
||||
(lf *file, const char *processor, function_decl_type decl_type);
|
||||
|
||||
#endif /* IGEN_GEN_ENGINE_H */
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef IGEN_GEN_ICACHE_H
|
||||
#define IGEN_GEN_ICACHE_H
|
||||
|
||||
/* Output code to manipulate the instruction cache: either create it
|
||||
or reference it */
|
||||
@@ -79,3 +81,5 @@ extern void print_icache_struct
|
||||
|
||||
|
||||
/* Output a single instructions decoder */
|
||||
|
||||
#endif /* IGEN_GEN_ICACHE_H */
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef IGEN_GEN_IDECODE_H
|
||||
#define IGEN_GEN_IDECODE_H
|
||||
|
||||
void print_idecode_issue_function_header
|
||||
(lf *file,
|
||||
@@ -45,3 +47,5 @@ extern void print_idecode_validate
|
||||
(lf *file,
|
||||
const insn_entry *instruction,
|
||||
const insn_opcodes *opcode_paths);
|
||||
|
||||
#endif /* IGEN_GEN_IDECODE_H */
|
||||
|
||||
@@ -19,10 +19,13 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
|
||||
#ifndef IGEN_GEN_ITABLE_H
|
||||
#define IGEN_GEN_ITABLE_H
|
||||
|
||||
/* Output a table of all the instructions */
|
||||
|
||||
extern void gen_itable_h (lf *file, const insn_table *table);
|
||||
|
||||
extern void gen_itable_c (lf *file, const insn_table *table);
|
||||
|
||||
#endif /* IGEN_GEN_ITABLE_H */
|
||||
|
||||
@@ -19,8 +19,11 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
|
||||
#ifndef IGEN_GEN_MODEL_H
|
||||
#define IGEN_GEN_MODEL_H
|
||||
|
||||
extern void gen_model_h (lf *file, const insn_table *isa);
|
||||
|
||||
extern void gen_model_c (lf *file, const insn_table *isa);
|
||||
|
||||
#endif /* IGEN_GEN_MODEL_H */
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef IGEN_GEN_SEMANTICS_H
|
||||
#define IGEN_GEN_SEMANTICS_H
|
||||
|
||||
/* Creates the files semantics.[hc].
|
||||
|
||||
@@ -102,3 +104,5 @@ extern void print_semantic_body
|
||||
const insn_entry *instruction,
|
||||
const opcode_bits *expanded_bits,
|
||||
const insn_opcodes *opcodes);
|
||||
|
||||
#endif /* IGEN_GEN_SEMANTICS_H */
|
||||
|
||||
@@ -19,7 +19,11 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef IGEN_GEN_SUPPORT_H
|
||||
#define IGEN_GEN_SUPPORT_H
|
||||
|
||||
extern void gen_support_h (lf *file, const insn_table *table);
|
||||
|
||||
extern void gen_support_c (lf *file, const insn_table *table);
|
||||
|
||||
#endif /* IGEN_GEN_SUPPORT_H */
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef IGEN_GEN_H
|
||||
#define IGEN_GEN_H
|
||||
|
||||
typedef struct _opcode_field opcode_field;
|
||||
struct _opcode_field
|
||||
@@ -214,3 +216,5 @@ extern void print_sim_engine_abort (lf *file, const char *message);
|
||||
extern void print_include (lf *file, igen_module module);
|
||||
extern void print_include_inline (lf *file, igen_module module);
|
||||
extern void print_includes (lf *file);
|
||||
|
||||
#endif /* IGEN_GEN_H */
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef IGEN_IGEN_H
|
||||
#define IGEN_IGEN_H
|
||||
|
||||
/* code-generation options: */
|
||||
|
||||
@@ -249,3 +251,5 @@ do { \
|
||||
options.gen.icache_size = 1024; \
|
||||
options.warning = warning; \
|
||||
} while (0)
|
||||
|
||||
#endif /* IGEN_IGEN_H */
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
|
||||
#ifndef IGEN_LD_CACHE_H
|
||||
#define IGEN_LD_CACHE_H
|
||||
|
||||
/* For backward compatibility only - load a standalone cache macro table */
|
||||
|
||||
@@ -64,3 +65,5 @@
|
||||
|
||||
|
||||
extern cache_entry *load_cache_table (const char *file_name);
|
||||
|
||||
#endif /* IGEN_LD_CACHE_H */
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef IGEN_LD_DECODE_H
|
||||
#define IGEN_LD_DECODE_H
|
||||
|
||||
/* Instruction decode table:
|
||||
|
||||
@@ -242,3 +244,5 @@ extern int decode_table_max_word_nr (const decode_table *rule);
|
||||
|
||||
extern void dump_decode_rule
|
||||
(lf *file, const char *prefix, const decode_table *rule, const char *suffix);
|
||||
|
||||
#endif /* IGEN_LD_DECODE_H */
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
|
||||
#ifndef IGEN_LD_INSN_H
|
||||
#define IGEN_LD_INSN_H
|
||||
|
||||
typedef uint64_t insn_uint;
|
||||
|
||||
@@ -705,3 +706,5 @@ void dump_cache_entries
|
||||
|
||||
void dump_insn_table
|
||||
(lf *file, const char *prefix, const insn_table *isa, const char *suffix);
|
||||
|
||||
#endif /* IGEN_LD_INSN_H */
|
||||
|
||||
@@ -19,7 +19,11 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef IGEN_LF_H
|
||||
#define IGEN_LF_H
|
||||
|
||||
#include "ansidecl.h"
|
||||
#include "misc.h"
|
||||
|
||||
/* LF: Line Numbered Output Stream */
|
||||
|
||||
@@ -115,3 +119,5 @@ extern int lf_print__function_type_function
|
||||
(lf *file,
|
||||
print_function * print_type,
|
||||
const char *prefix, const char *trailing_space);
|
||||
|
||||
#endif /* IGEN_LF_H */
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
|
||||
#ifndef IGEN_MISC_H
|
||||
#define IGEN_MISC_H
|
||||
|
||||
/* Frustrating header junk */
|
||||
|
||||
@@ -102,3 +103,5 @@ name_map;
|
||||
extern int name2i (const char *name, const name_map * map);
|
||||
|
||||
extern const char *i2name (const int i, const name_map * map);
|
||||
|
||||
#endif /* IGEN_MISC_H */
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef IGEN_TABLE_H
|
||||
#define IGEN_TABLE_H
|
||||
|
||||
/* Read a table, line by line, from a file.
|
||||
|
||||
@@ -138,3 +140,5 @@ extern char *skip_spaces (char *chp);
|
||||
extern char *skip_to_separator (char *chp, char *separators);
|
||||
|
||||
extern char *back_spaces (char *start, char *chp);
|
||||
|
||||
#endif /* IGEN_TABLE_H */
|
||||
|
||||
Reference in New Issue
Block a user