>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