subexpressions even with REG_NOSUB.
* posix/rxspencer/tests: Add a previously failing testcase.
+2005-02-10 Paolo Bonzini <bonzini@gnu.org>
+
+ * posix/regcomp.c (lower_subexp): Do not optimize empty
+ subexpressions even with REG_NOSUB.
+ * posix/rxspencer/tests: Add a previously failing testcase.
+
2005-02-21 Alan Modra <amodra@bigpond.net.au>
* elf/dl-reloc.c (_dl_nothread_init_static_tls): Assert that dtv
bin_tree_t *op, *cls, *tree1, *tree;
if (preg->no_sub
+ /* We do not optimize empty subexpressions, because otherwise we may
+ have bad CONCAT nodes with NULL children. This is obviously not
+ very common, so we do not lose much. An example that triggers
+ this case is the sed "script" /\(\)/x. */
+ && node->left != NULL
&& (node->token.opr.idx >= 8 * sizeof (dfa->used_bkref_map)
|| !(dfa->used_bkref_map & (1 << node->token.opr.idx))))
return node->left;
a[bc]d - xyzaaabcaababdacd abd
a[ab]c - aaabc abc
abc s abc abc
+() s abc @abc
a* & b @b
# Let's have some fun -- try to match a C comment.