From df421545d314192e9a4ac2868754f34590d73027 Mon Sep 17 00:00:00 2001
From: Mikhail Maltsev <maltsevm@gmail.com>
Date: Sun, 4 Oct 2015 22:50:02 +0300
Subject: [PATCH 5/7] Generators - v2
---
gcc/genautomata.c | 2 +-
gcc/genconditions.c | 2 ++
gcc/genextract.c | 9 +++++----
gcc/gengtype.c | 6 ------
gcc/gengtype.h | 5 -----
5 files changed, 8 insertions(+), 16 deletions(-)
@@ -879,7 +879,7 @@ struct state_ainsn_table
/* Macros to access members of unions. Use only them for access to
union members of declarations and regexps. */
-#if defined ENABLE_CHECKING && (GCC_VERSION >= 2007)
+#if CHECKING_P && (GCC_VERSION >= 2007)
#define DECL_UNIT(d) __extension__ \
(({ __typeof (d) const _decl = (d); \
@@ -60,6 +60,8 @@ write_header (void)
\n\
/* Do not allow checking to confuse the issue. */\n\
#undef ENABLE_CHECKING\n\
+#undef CHECKING_P\n\
+#define CHECKING_P 0\n\
#undef ENABLE_TREE_CHECKING\n\
#undef ENABLE_RTL_CHECKING\n\
#undef ENABLE_RTL_FLAG_CHECKING\n\
@@ -373,10 +373,11 @@ insn_extract (rtx_insn *insn)\n{\n\
rtx pat = PATTERN (insn);\n\
int i ATTRIBUTE_UNUSED; /* only for peepholes */\n\
\n\
-#ifdef ENABLE_CHECKING\n\
- memset (ro, 0xab, sizeof (*ro) * MAX_RECOG_OPERANDS);\n\
- memset (ro_loc, 0xab, sizeof (*ro_loc) * MAX_RECOG_OPERANDS);\n\
-#endif\n");
+ if (flag_checking)\n\
+ {\n\
+ memset (ro, 0xab, sizeof (*ro) * MAX_RECOG_OPERANDS);\n\
+ memset (ro_loc, 0xab, sizeof (*ro_loc) * MAX_RECOG_OPERANDS);\n\
+ }\n");
puts ("\
switch (INSN_CODE (insn))\n\
@@ -158,9 +158,6 @@ size_t num_lang_dirs;
BASE_FILES entry for each language. */
static outf_p *base_files;
-
-
-#if ENABLE_CHECKING
/* Utility debugging function, printing the various type counts within
a list of types. Called through the DBGPRINT_COUNT_TYPE macro. */
void
@@ -222,7 +219,6 @@ dbgprint_count_type_at (const char *fil, int lin, const char *msg, type_p t)
fprintf (stderr, "@@%%@@ %d undefined types\n", nb_undefined);
fprintf (stderr, "\n");
}
-#endif /* ENABLE_CHECKING */
/* Scan the input file, LIST, and determine how much space we need to
store strings in. Also, count the number of language directories
@@ -5181,7 +5177,6 @@ main (int argc, char **argv)
parse_program_options (argc, argv);
-#if ENABLE_CHECKING
if (do_debug)
{
time_t now = (time_t) 0;
@@ -5189,7 +5184,6 @@ main (int argc, char **argv)
DBGPRINTF ("gengtype started pid %d at %s",
(int) getpid (), ctime (&now));
}
-#endif /* ENABLE_CHECKING */
/* Parse the input list and the input files. */
DBGPRINTF ("inputlist %s", inputlist);
@@ -492,17 +492,12 @@ extern int do_dump; /* (-d) program argument. */
gengtype source code). Only useful to debug gengtype itself. */
extern int do_debug; /* (-D) program argument. */
-#if ENABLE_CHECKING
#define DBGPRINTF(Fmt,...) do {if (do_debug) \
fprintf (stderr, "%s:%d: " Fmt "\n", \
lbasename (__FILE__),__LINE__, ##__VA_ARGS__);} while (0)
void dbgprint_count_type_at (const char *, int, const char *, type_p);
#define DBGPRINT_COUNT_TYPE(Msg,Ty) do {if (do_debug) \
dbgprint_count_type_at (__FILE__, __LINE__, Msg, Ty);}while (0)
-#else
-#define DBGPRINTF(Fmt,...) do {/*nodbgrintf*/} while (0)
-#define DBGPRINT_COUNT_TYPE(Msg,Ty) do{/*nodbgprint_count_type*/}while (0)
-#endif /*ENABLE_CHECKING */
#define FOR_ALL_INHERITED_FIELDS(TYPE, FIELD_VAR) \
for (type_p sub = (TYPE); sub; sub = sub->u.s.base_class) \
--
2.1.4