From: Mike Frysinger Date: Wed, 3 Jan 2024 08:07:25 +0000 (-0500) Subject: sim: igen: clean up headers a bit X-Git-Tag: binutils-2_42~267 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=339e44f8c0bcd4c9d8cf10faddff61fbb39cb201;p=thirdparty%2Fbinutils-gdb.git 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. --- diff --git a/sim/igen/filter.h b/sim/igen/filter.h index dd674dde26a..b225731add0 100644 --- a/sim/igen/filter.h +++ b/sim/igen/filter.h @@ -19,6 +19,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#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 */ diff --git a/sim/igen/filter_host.h b/sim/igen/filter_host.h index 104c21063d6..b226a2111fa 100644 --- a/sim/igen/filter_host.h +++ b/sim/igen/filter_host.h @@ -19,9 +19,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#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 */ diff --git a/sim/igen/gen-engine.h b/sim/igen/gen-engine.h index bb46bed147d..20f341526f4 100644 --- a/sim/igen/gen-engine.h +++ b/sim/igen/gen-engine.h @@ -19,6 +19,9 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#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 */ diff --git a/sim/igen/gen-icache.h b/sim/igen/gen-icache.h index de8cdfe4307..f5298e56493 100644 --- a/sim/igen/gen-icache.h +++ b/sim/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 . */ +#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 */ diff --git a/sim/igen/gen-idecode.h b/sim/igen/gen-idecode.h index 63ae883d219..05a7055644a 100644 --- a/sim/igen/gen-idecode.h +++ b/sim/igen/gen-idecode.h @@ -19,6 +19,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#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 */ diff --git a/sim/igen/gen-itable.h b/sim/igen/gen-itable.h index 37d39fe84b8..2991d18390b 100644 --- a/sim/igen/gen-itable.h +++ b/sim/igen/gen-itable.h @@ -19,10 +19,13 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ - +#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 */ diff --git a/sim/igen/gen-model.h b/sim/igen/gen-model.h index 5af5d918262..2fdea67d4dc 100644 --- a/sim/igen/gen-model.h +++ b/sim/igen/gen-model.h @@ -19,8 +19,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ - +#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 */ diff --git a/sim/igen/gen-semantics.h b/sim/igen/gen-semantics.h index 115251b2287..daf5fc8ca2f 100644 --- a/sim/igen/gen-semantics.h +++ b/sim/igen/gen-semantics.h @@ -19,6 +19,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#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 */ diff --git a/sim/igen/gen-support.h b/sim/igen/gen-support.h index fac231ed96f..c22a8956523 100644 --- a/sim/igen/gen-support.h +++ b/sim/igen/gen-support.h @@ -19,7 +19,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#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 */ diff --git a/sim/igen/gen.h b/sim/igen/gen.h index 53225bc8429..f6a77cf80a1 100644 --- a/sim/igen/gen.h +++ b/sim/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 . */ +#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 */ diff --git a/sim/igen/igen.h b/sim/igen/igen.h index eb5c755aeda..cc3edac5a76 100644 --- a/sim/igen/igen.h +++ b/sim/igen/igen.h @@ -19,6 +19,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#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 */ diff --git a/sim/igen/ld-cache.h b/sim/igen/ld-cache.h index 47bf9d60dae..a7351cd765d 100644 --- a/sim/igen/ld-cache.h +++ b/sim/igen/ld-cache.h @@ -19,7 +19,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ - +#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 */ diff --git a/sim/igen/ld-decode.h b/sim/igen/ld-decode.h index 739e09e5d9e..660f3a7ccd1 100644 --- a/sim/igen/ld-decode.h +++ b/sim/igen/ld-decode.h @@ -19,6 +19,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#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 */ diff --git a/sim/igen/ld-insn.h b/sim/igen/ld-insn.h index d22b855e1ce..661cd40a0e8 100644 --- a/sim/igen/ld-insn.h +++ b/sim/igen/ld-insn.h @@ -19,7 +19,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ - +#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 */ diff --git a/sim/igen/lf.h b/sim/igen/lf.h index d1e2acca548..cea86d63db1 100644 --- a/sim/igen/lf.h +++ b/sim/igen/lf.h @@ -19,7 +19,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#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 */ diff --git a/sim/igen/misc.h b/sim/igen/misc.h index 45610558a26..04a7f720b41 100644 --- a/sim/igen/misc.h +++ b/sim/igen/misc.h @@ -19,7 +19,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ - +#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 */ diff --git a/sim/igen/table.h b/sim/igen/table.h index e6f318b4e36..13429707f2e 100644 --- a/sim/igen/table.h +++ b/sim/igen/table.h @@ -19,6 +19,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#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 */