aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2017-03-23 21:30:37 +0200
committerArnold D. Robbins <arnold@skeeve.com>2017-03-23 21:30:37 +0200
commitde35ebb8a343a6756ee5b45a6f0958626c17982c (patch)
treee8bb3f946e98238b8fe354496b7548b09f7abe52
parenteab8c54a43c4f1e7827b28f0e4e0e3b2d6643b97 (diff)
parent10c17fe33a10746bd44fc4b62f764ca4c3f3c5a6 (diff)
downloadegawk-de35ebb8a343a6756ee5b45a6f0958626c17982c.tar.gz
egawk-de35ebb8a343a6756ee5b45a6f0958626c17982c.tar.bz2
egawk-de35ebb8a343a6756ee5b45a6f0958626c17982c.zip
Merge branch 'master' into feature/api-parser
-rw-r--r--ChangeLog4
-rwxr-xr-xconfig.sub7
-rw-r--r--extension/build-aux/ChangeLog4
-rwxr-xr-xextension/build-aux/config.sub7
-rw-r--r--support/ChangeLog4
-rw-r--r--support/dfa.c35
6 files changed, 36 insertions, 25 deletions
diff --git a/ChangeLog b/ChangeLog
index 6c587f03..80a0a7c7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2017-03-23 Arnold D. Robbins <arnold@skeeve.com>
+
+ * config.sub: Updated again.
+
2017-03-22 Andrew J. Schorr <aschorr@telemetry-investments.com>
* NEWS: Document new PROCINFO["FS"] value of "API".
diff --git a/config.sub b/config.sub
index 87abeab6..7203bf1e 100755
--- a/config.sub
+++ b/config.sub
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2017-02-07'
+timestamp='2017-03-21'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -315,6 +315,7 @@ case $basic_machine in
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| visium \
+ | wasm32 \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
@@ -446,6 +447,7 @@ case $basic_machine in
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
| visium-* \
+ | wasm32-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
@@ -1246,6 +1248,9 @@ case $basic_machine in
basic_machine=a29k-wrs
os=-vxworks
;;
+ wasm32)
+ basic_machine=wasm32-unknown
+ ;;
w65*)
basic_machine=w65-wdc
os=-none
diff --git a/extension/build-aux/ChangeLog b/extension/build-aux/ChangeLog
index af726346..0851fdf4 100644
--- a/extension/build-aux/ChangeLog
+++ b/extension/build-aux/ChangeLog
@@ -1,3 +1,7 @@
+2017-03-23 Arnold D. Robbins <arnold@skeeve.com>
+
+ * config.sub: Updated again.
+
2017-03-20 Arnold D. Robbins <arnold@skeeve.com>
* config.guess, config.rpath, config.sub, install-sh:
diff --git a/extension/build-aux/config.sub b/extension/build-aux/config.sub
index 87abeab6..7203bf1e 100755
--- a/extension/build-aux/config.sub
+++ b/extension/build-aux/config.sub
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2017-02-07'
+timestamp='2017-03-21'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -315,6 +315,7 @@ case $basic_machine in
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| visium \
+ | wasm32 \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
@@ -446,6 +447,7 @@ case $basic_machine in
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
| visium-* \
+ | wasm32-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
@@ -1246,6 +1248,9 @@ case $basic_machine in
basic_machine=a29k-wrs
os=-vxworks
;;
+ wasm32)
+ basic_machine=wasm32-unknown
+ ;;
w65*)
basic_machine=w65-wdc
os=-none
diff --git a/support/ChangeLog b/support/ChangeLog
index 027b6db7..1c6015f3 100644
--- a/support/ChangeLog
+++ b/support/ChangeLog
@@ -1,3 +1,7 @@
+2017-03-23 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c: Sync with GNULIB.
+
2017-01-19 Arnold D. Robbins <arnold@skeeve.com>
* localeinfo.h: Sync with GNULIB.
diff --git a/support/dfa.c b/support/dfa.c
index ad5b3a41..2003ac55 100644
--- a/support/dfa.c
+++ b/support/dfa.c
@@ -581,8 +581,9 @@ struct dfa
bool, size_t *, bool *);
/* The locale is simple, like the C locale. These locales can be
- processed more efficiently, e.g., the relationship between lower-
- and upper-case letters is 1-1. */
+ processed more efficiently, as they are single-byte, their native
+ character set is in collating-sequence order, and they do not
+ have multi-character collating elements. */
bool simple_locale;
/* Other cached information derived from the locale. */
@@ -1059,7 +1060,6 @@ parse_bracket_exp (struct dfa *dfa)
if (invert)
{
c = bracket_fetch_wc (dfa);
- invert = true;
known_bracket_exp = dfa->simple_locale;
}
wint_t wc = dfa->lex.wctok;
@@ -1190,24 +1190,14 @@ parse_bracket_exp (struct dfa *dfa)
/* Treat [x-y] as a range if x != y. */
if (wc != wc2 || wc == WEOF)
{
- if (dfa->localeinfo.multibyte)
- known_bracket_exp = false;
- else if (dfa->simple_locale)
+ if (dfa->simple_locale
+ || (isasciidigit (c) & isasciidigit (c2)))
{
- int ci;
- for (ci = c; ci <= c2; ci++)
- setbit (ci, &ccl);
- if (dfa->syntax.case_fold)
- {
- int uc = toupper (c);
- int uc2 = toupper (c2);
- for (ci = 0; ci < NOTCHAR; ci++)
- {
- int uci = toupper (ci);
- if (uc <= uci && uci <= uc2)
- setbit (ci, &ccl);
- }
- }
+ for (int ci = c; ci <= c2; ci++)
+ if (dfa->syntax.case_fold && isalpha (ci))
+ setbit_case_fold_c (ci, &ccl);
+ else
+ setbit (ci, &ccl);
}
else
known_bracket_exp = false;
@@ -1221,7 +1211,7 @@ parse_bracket_exp (struct dfa *dfa)
if (!dfa->localeinfo.multibyte)
{
- if (dfa->syntax.case_fold)
+ if (dfa->syntax.case_fold && isalpha (c))
setbit_case_fold_c (c, &ccl);
else
setbit (c, &ccl);
@@ -1256,7 +1246,7 @@ parse_bracket_exp (struct dfa *dfa)
if (! known_bracket_exp)
return BACKREF;
- if (dfa->localeinfo.multibyte)
+ if (dfa->localeinfo.multibyte && (invert || dfa->lex.brack.nchars != 0))
{
dfa->lex.brack.invert = invert;
dfa->lex.brack.cset = emptyset (&ccl) ? -1 : charclass_index (dfa, &ccl);
@@ -1265,7 +1255,6 @@ parse_bracket_exp (struct dfa *dfa)
if (invert)
{
- assert (!dfa->localeinfo.multibyte);
notset (&ccl);
if (dfa->syntax.syntax_bits & RE_HAT_LISTS_NOT_NEWLINE)
clrbit ('\n', &ccl);