Hiroki Noda
03f19cf3d2
regex/internal/parser.d: remove unreachable statement
2019-05-15 10:41:19 +09:00
Martin Kinkelin
5cc7fc5fb2
std.regex: Fix reassignment of ctRegex wrapper structs
...
Previously, reassigning such a wrapper resulted in the static immutable
Regex!Char global for that pattern (`staticRe`) to be overwritten by the
global for the new pattern (!). Made possible via alias this and the
logical-const hack.
Proposed fix: keep on allowing reassignments (people are already using
them), but just point to another pattern's global. So use a common
Wrapper struct type wrapping a pointer instead of an empty struct type
per pattern.
Bug reported in https://github.com/ldc-developers/ldc/issues/2961 .
2019-02-02 23:03:02 +01:00
Nathan Sashihara
725278b2ce
Fix Issue 19331 - std.regex.internal.ir.SmallFixedArray.toHash is ignored because it's non-const
2018-10-25 03:22:04 -04:00
Iain Buclaw
fd5facfe04
posix.mak: Enforce whitespace before opening parenthesis for version conditions
2018-09-22 16:57:24 +02:00
aG0aep6G
b9fe8b9ed0
Ddoc: fix unescaped dollar sign
2018-09-13 19:22:55 +02:00
Nick Treleaven
02d0104c57
popFront is not a property
2018-06-08 17:33:55 +01:00
Sebastian Wilzbach
c324714fde
Remove a few cases of underscore escaping
2018-06-04 13:05:01 +02:00
Martin Nowak
9fdcf660dd
Merge remote-tracking branch 'upstream/stable' into merge_stable
...
# Conflicts:
# std/bitmanip.d
2018-04-06 19:39:58 +02:00
Sebastian Wilzbach
42894784dd
Markdownify Phobos
...
$(D word) -> `word`
2018-04-02 22:32:47 +02:00
Dmitry Olshansky
b602b5a3f4
Fix issue 18691 - memory errors in std.regex.Captures
...
Instead of a messy code that ended up with refcount at the wrong place
provide a clean fixed-size array with required semantics and
build on top of that.
2018-03-29 19:49:51 +03:00
carblue
5fb1fe7639
std.regex.internal.tests: Fix a -dip1000 compilable issue
2018-03-26 13:59:18 +02:00
Sebastian Wilzbach
8f86a0d734
Fix if constraints indentation
2018-03-24 13:17:53 +01:00
The Dlang Bot
02aebb2920
Merge pull request #6268 from DmitryOlshansky/regex-cacheing
...
Cache and reuse std.regex engine to speed repeated matching
merged-on-behalf-of: David Nadlinger <code@klickverbot.at>
2018-03-22 02:21:27 +01:00
Dmitry Olshansky
4318073f40
Fix issue 18600 Revamp std.regex caching for matchFirst case
2018-03-21 14:53:34 +03:00
WebFreak001
0b9ca7107c
Fix Issue 18565 - std.regex Captures opAssign returns void
2018-03-11 19:47:38 +01:00
Martin Nowak
7283f680f3
add back logical const workaround
...
- needed for compatibility with existing ctRegex users (e.g. Higgs)
- cast reference instead of value to avoid copying
2018-02-22 17:35:08 +01:00
Martin Nowak
59520969ef
fix Issue 18114 - regex performance regression
...
- reduce copying of fat structs
- optimize layouts and opAssign of Captures
2018-02-22 16:59:09 +01:00
Martin Nowak
2e9a9db772
Revert "fix broken Jenkins CI"
...
This reverts commit 7bf26afced
.
2018-02-22 16:59:09 +01:00
Martin
3db3dd8899
std.regex: Alignment hotfix
...
This fixes the unittests for LDC on ARM (with enabled optimizations).
The code used to store a class instance (whose size isn't padded) right
before some buffer, without any padding inbetween. The buffer is thus
susceptible to misalignment; e.g., `BacktrackingMatcher.dupTo()` casts
the buffer from `void[]` to `size_t[]` (in `initExternalMemory()`),
simply assuming an alignment >= `size_t.alignof`, which only holds if
the prepended class instance size is a multiple of that (as `malloc()`
returns a sufficiently aligned block already in this case).
2018-02-15 20:41:59 +01:00
Sebastian Wilzbach
d9830b739e
Fix DScanner warnings
2018-02-10 22:46:32 +01:00
Sebastian Wilzbach
a60fd0c1a5
Splitup regex tests to please auto-tester
2018-01-24 17:59:40 +01:00
The Dlang Bot
52042cf2f4
Merge pull request #6052 from wilzbach/static_iota_std_regex_internal_backtracking
...
Remove staticIota: std_regex_internal_backtracking
merged-on-behalf-of: Jack Stouffer <jack@jackstouffer.com>
2018-01-23 02:47:37 +01:00
Sebastian Wilzbach
3ad744d351
Remove staticIota: std_regex_internal_tests
2018-01-22 17:19:06 +01:00
Sebastian Wilzbach
252a322315
Remove staticIota: std_regex_internal_backtracking
2018-01-22 17:18:59 +01:00
RazvanN7
281fe177ac
Fix erroneous imports
2018-01-22 16:37:22 +02:00
The Dlang Bot
f3189822ab
Merge pull request #5989 from wilzbach/static-foreach
...
Use static foreach in Phobos
merged-on-behalf-of: Andrei Alexandrescu <andralex@users.noreply.github.com>
2018-01-03 19:05:07 +01:00
Sebastian Wilzbach
7de3787876
Use static foreach in Phobos
2018-01-03 17:30:11 +01:00
Steven Schveighoffer
fdc3e994cd
Explicitly type RegexMatch.front (and add inout because captures has
...
inout as well). Fixes issue 18124
2017-12-31 09:24:47 -05:00
Martin Nowak
b221120735
fix Issue 18135 - can't join RegexMatch anymore
...
- fix copying of structs with RegexMatch fields by making
const interface reference rebindable
2017-12-29 13:52:35 +01:00
Dmitry Olshansky
881658eabc
Faster to import std.regex, by lazy eval of wordMatcher
2017-12-18 17:50:53 +03:00
The Dlang Bot
ad489989ec
Merge pull request #5722 from DmitryOlshansky/regex-matcher-interfaces
...
std.regex: major internal redesign, also fixes issue 13532
merged-on-behalf-of: Andrei Alexandrescu <andralex@users.noreply.github.com>
2017-10-16 20:16:33 +02:00
Dmitry Olshansky
f4c963b5e9
Silence the circleCI style check?
2017-10-16 19:14:42 +03:00
Dmitry Olshansky
13ea5f9aea
Drop another level of templatizations in backtracking
2017-10-11 18:18:12 +03:00
Dmitry Olshansky
41c229647d
Need to propagate subCounters
...
Disable "benchmark" in unittest, it's too volatile
with different compiler flags
Also use GC.addRange/GC.removeRange
2017-10-06 11:20:55 +03:00
Matthew Strawbridge
3f9d421aac
Include 's' in the list of valid regex flags
2017-10-01 20:54:00 +01:00
Dmitry Olshansky
7bf26afced
fix broken Jenkins CI
2017-09-28 11:55:43 +03:00
Dmitry Olshansky
c49ea4f8c7
Another attempt to even the odds of enum/static speed
2017-09-28 11:55:43 +03:00
Dmitry Olshansky
09491f96e6
Another try to fix ratio of static/enum
2017-09-28 11:55:43 +03:00
Dmitry Olshansky
ee1f69a570
Initialize subCounters
2017-09-28 11:55:43 +03:00
Dmitry Olshansky
dc9b60c1f3
Trying to narrow down flakiness of timing
2017-09-28 11:55:43 +03:00
Dmitry Olshansky
eaa62a83db
Fix latent bug due to emplacing over uninitialized memory
2017-09-28 11:55:43 +03:00
Dmitry Olshansky
8bfa66c50a
Fix CI complaints
2017-09-28 11:55:43 +03:00
Dmitry Olshansky
a877469f07
Fix issue 13532 - std.regex performance (enums; regex vs ctRegex)
2017-09-28 11:55:43 +03:00
Dmitry Olshansky
c7bdfbe51b
std.regex finish the loose ends in the great refactoring
2017-09-28 11:55:43 +03:00
Dmitry Olshansky
639dd3dd6f
The new std.regex design is concluded, going through the unitests
2017-09-28 11:55:43 +03:00
Dmitry Olshansky
33d7ecc84c
Finalized matcher factory abstraction, with compile-time regex support
2017-09-28 11:55:43 +03:00
Dmitry Olshansky
6e684343d7
WIP - refactoring towards sane std.regex code
2017-09-28 11:55:43 +03:00
Martin Nowak
8667632115
Merge remote-tracking branch 'upstream/stable' into merge_stable
2017-08-25 17:30:26 +02:00
Dmitry Olshansky
5fbab17c47
Fix issue 17673 - wrong whichPattern in multi-regex with alteration
2017-08-24 14:22:53 +03:00
Dmitry Olshansky
bc14c02e45
Rangify std.regex codepoint set parser
2017-08-24 11:22:51 +03:00