On Mon, Oct 19, 2015 at 1:55 AM, Mikhail Maltsev <malts...@gmail.com> wrote:
> On 10/06/2015 03:56 PM, Richard Biener wrote:
>> The generators should simply unconditionally check (not in generated
>> files, of course).
>> And the generated code parts should use flag_checking.
>>
>> Richard.
>
> genautomata has some macros similar to tree checks, so I avoided changing 
> them.
> genconditions for some reason #undef-s ENABLE_CHECKING in the generated code. 
> I
> did not look at it in details, but decided to simply #define CHECKING_P to 0 
> for
> consistency.
>
> As for genextract and gengtype, I followed your recommendations, that is, used
> flag_checking instead of CHECKING_P in genextract, and always enable debugging
> functions in gengtype.

diff --git a/gcc/genextract.c b/gcc/genextract.c
index fe97701..a03ac97 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");



flag_checking will be never set, so as suggested make it do the checking bits
unconditionally.

Otherwise the patch is ok.  (needs sorting out the CHECKING_P vs.
ENABLE_CHECKING
elsewhere)

Thanks,
Richard.


> --
> Regards,
>     Mikhail Maltsev
>
> gcc/ChangeLog:
>
> 2015-10-19  Mikhail Maltsev  <malts...@gmail.com>
>
>         * 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.

Reply via email to