Commit graph

166 commits

Author SHA1 Message Date
Nick Treleaven
02d0104c57 popFront is not a property 2018-06-08 17:33:55 +01: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
Dmitry Olshansky
4318073f40 Fix issue 18600 Revamp std.regex caching for matchFirst case 2018-03-21 14:53:34 +03: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
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
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
Sebastian Wilzbach
7de3787876 Use static foreach in Phobos 2018-01-03 17:30:11 +01:00
Dmitry Olshansky
881658eabc Faster to import std.regex, by lazy eval of wordMatcher 2017-12-18 17:50:53 +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
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
Dmitry Olshansky
905788a65a Move unicode set parser out of std.regex
This only does the move without adapting
the interface to the commonly accepted ranges.
2017-08-23 19:17:55 +03:00
Dmitry Olshansky
ba15802664 Fix issue 17668 - assert failure regex(q"<[^]>") 2017-08-07 13:34:05 +03:00
Dmitry Olshansky
42c0d79e5a Fix issue 17667 - regex([r".", r"[\(\{[\]\}\)]"]); 2017-07-26 14:35:32 +03:00
Vladimir Panteleev
d0b9555a06
Revert "Sort selective imports"
This reverts commit 998ad51fd7.
2017-06-13 17:51:52 +00:00
Sebastian Wilzbach
2070d867dd Sort multiple packages within one line 2017-06-12 08:18:25 +02:00
Sebastian Wilzbach
998ad51fd7 Sort selective imports 2017-06-12 08:12:09 +02:00
Sebastian Wilzbach
61717ecc7d Sort imports 2017-06-12 07:54:38 +02:00
Martin Nowak
1be69f36df Merge remote-tracking branch 'upstream/stable' into merge_stable
# Conflicts:
#	std/regex/internal/backtracking.d
#	std/regex/internal/shiftor.d
#	std/regex/package.d
2017-03-21 15:29:15 +01:00
The Dlang Bot
091ff0f8bb Merge pull request #5252 from DmitryOlshansky/issue-17075
Fix issue 17075 ctRegex BacktrackingMatcher.prevStack: free(): invali…
merged-on-behalf-of: H. S. Teoh <quickfur@users.noreply.github.com>
2017-03-15 01:33:57 +01:00
Dmitry Olshansky
d47c8859bc Fix issue 17075 ctRegex BacktrackingMatcher.prevStack: free(): invalid pointer 2017-03-15 00:04:36 +01:00
Jack Stouffer
86da122a7e Merge pull request #5244 from kinke/stable
Remove orphaned std.regex.internal.shiftor
2017-03-14 11:14:54 -04:00
Dmitry Olshansky
0e76847361 Fix issue 17157 ctRegex.matchAll doesn't set last item in Captures 2017-03-09 22:23:26 +01:00
Martin
40a1615f85 Remove orphaned std.regex.internal.shiftor
Apparently a leftover from dlang/phobos@5a2491a. Not included in the
makefile and not compilable either.
2017-03-06 20:19:31 +01:00
Sebastian Wilzbach
a6cb85b869 Add @safe to std.regex unittest 2017-03-04 22:54:54 +01:00
Martin Nowak
ad70b0826b Merge remote-tracking branch 'upstream/stable' into merge_stable 2017-03-04 18:58:15 +01:00
Sebastian Wilzbach
203755d296 Automatically add spaces to binary operators (>>)
command:

sed -E "s/([[:alnum:]]) >> ([[:alnum:]])/\1 >> \2/g" -i **/*.d
sed -E "s/([[:alnum:]])>> ([[:alnum:]])/\1 >> \2/g" -i **/*.d
sed -E "s/([[:alnum:]]) >>([[:alnum:]])/\1 >> \2/g" -i **/*.d
2017-02-23 00:57:47 +01:00
Sebastian Wilzbach
ef7be4b60d Automatically add spaces to binary operators (<<)
command:

sed -E "s/([[:alnum:]]) << ([[:alnum:]])/\1 << \2/g" -i **/*.d
sed -E "s/([[:alnum:]])<< ([[:alnum:]])/\1 << \2/g" -i **/*.d
sed -E "s/([[:alnum:]]) <<([[:alnum:]])/\1 << \2/g" -i **/*.d
2017-02-23 00:57:47 +01:00
Sebastian Wilzbach
0b33b50812 Automatically add spaces to binary operators (!=)
command:

sed -E "s/([[:alnum:]]) != ([[:alnum:]])/\1 != \2/g" -i **/*.d
sed -E "s/([[:alnum:]])!= ([[:alnum:]])/\1 != \2/g" -i **/*.d
sed -E "s/([[:alnum:]]) !=([[:alnum:]])/\1 != \2/g" -i **/*.d
2017-02-23 00:57:47 +01:00