From e138bdcb219014e91c3836f2bd7580cfcb2f688c Mon Sep 17 00:00:00 2001 From: law Date: Thu, 29 Oct 2015 16:28:40 +0000 Subject: [PATCH 6/9] ENABLE_CHECKING refactoring: generators * genautomata.c: Use CHECKING_P instead of ENABLE_CHECKING. * genconditions.c: Define CHECKING_P in the generated code. * genextract.c: Use flag_checking in insn_extract. * gengtype.c (main): Remove conditional compilation. * gengtype.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229539 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 8 ++++++++ gcc/genautomata.c | 6 +++--- gcc/genconditions.c | 2 ++ gcc/genextract.c | 9 +++++---- gcc/gengtype.c | 6 ------ gcc/gengtype.h | 5 ----- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4fbfea05287..4dc5b715042 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2015-10-29 Mikhail Maltsev + + * genautomata.c: Use CHECKING_P instead of ENABLE_CHECKING. + * genconditions.c: Define CHECKING_P in the generated code. + * genextract.c: Use flag_checking in insn_extract. + * gengtype.c (main): Remove conditional compilation. + * gengtype.h: Likewise. + 2015-10-29 Jeff Law PR tree-optimization/67892 diff --git a/gcc/genautomata.c b/gcc/genautomata.c index 5196d6800d1..504107840a3 100644 --- a/gcc/genautomata.c +++ b/gcc/genautomata.c @@ -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); \ @@ -1070,7 +1070,7 @@ regexp_mode_check_failed (enum regexp_mode mode, exit (1); } -#else /* #if defined ENABLE_RTL_CHECKING && (GCC_VERSION >= 2007) */ +#else /* #if CHECKING_P && (GCC_VERSION >= 2007) */ #define DECL_UNIT(d) (&(d)->decl.unit) #define DECL_BYPASS(d) (&(d)->decl.bypass) @@ -1088,7 +1088,7 @@ regexp_mode_check_failed (enum regexp_mode mode, #define REGEXP_ALLOF(r) (&(r)->regexp.allof) #define REGEXP_ONEOF(r) (&(r)->regexp.oneof) -#endif /* #if defined ENABLE_RTL_CHECKING && (GCC_VERSION >= 2007) */ +#endif /* #if CHECKING_P && (GCC_VERSION >= 2007) */ #define XCREATENODE(T) ((T *) create_node (sizeof (T))) #define XCREATENODEVEC(T, N) ((T *) create_node (sizeof (T) * (N))) diff --git a/gcc/genconditions.c b/gcc/genconditions.c index 001e58eff8a..7481ab41d5e 100644 --- a/gcc/genconditions.c +++ b/gcc/genconditions.c @@ -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\ diff --git a/gcc/genextract.c b/gcc/genextract.c index fe977014729..a03ac972182 100644 --- a/gcc/genextract.c +++ b/gcc/genextract.c @@ -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\ diff --git a/gcc/gengtype.c b/gcc/gengtype.c index 8c5c36d384e..98ee32a8931 100644 --- a/gcc/gengtype.c +++ b/gcc/gengtype.c @@ -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 @@ -5188,7 +5184,6 @@ main (int argc, char **argv) parse_program_options (argc, argv); -#if ENABLE_CHECKING if (do_debug) { time_t now = (time_t) 0; @@ -5196,7 +5191,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); diff --git a/gcc/gengtype.h b/gcc/gengtype.h index 83f36321033..b8ce7ceba3f 100644 --- a/gcc/gengtype.h +++ b/gcc/gengtype.h @@ -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) \ -- cgit v1.2.1