>From 4a1040bd62bfcb916b81900cad30bc4bd3c956c3 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 8 Apr 2014 13:15:24 -0700 Subject: [PATCH] grep: remove bool_bf The extra complexity of this microoptimization wasn't ever much help, and currently it generated bigger code with gcc -O2 (x86-64). * src/dfa.c (bool_bf): Remove. All uses replaced by plain 'bool', without a bitfield. --- src/dfa.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/dfa.c b/src/dfa.c index 34f230e..a3cfa8d 100644 --- a/src/dfa.c +++ b/src/dfa.c @@ -34,13 +34,6 @@ #include #include -/* The pre-C99 emulation doesn't work for bool bitfields. */ -#if __STDC_VERSION__ < 199901 -typedef unsigned int bool_bf; -#else -typedef bool bool_bf; -#endif - #define STREQ(a, b) (strcmp (a, b) == 0) /* ISASCIIDIGIT differs from isdigit, as follows: @@ -291,8 +284,8 @@ typedef struct size_t hash; /* Hash of the positions of this state. */ position_set elems; /* Positions this state could match. */ unsigned char context; /* Context from previous state. */ - bool_bf has_backref : 1; /* True if this state matches a \. */ - bool_bf has_mbcset : 1; /* True if this state matches a MBCSET. */ + bool has_backref; /* True if this state matches a \. */ + bool has_mbcset; /* True if this state matches a MBCSET. */ unsigned short constraint; /* Constraint for this state to accept. */ token first_end; /* Token value of the first END in elems. */ position_set mbps; /* Positions which can match multibyte -- 1.9.0