Displaying 10 results from an estimated 10 matches for "llvm_regmatch_t".
2009 Aug 25
6
[LLVMdev] Regular Expression lib support
...compiled with NEWLINE flag.
> + // noteol: The match-end-of-line operator always fails to match.
> + // unless regex was compiled with NEWLINE flag.
> +
> + bool matches(const char *string, bool notbol=false, bool noteol=false);
> + bool match_sub(const char *string, llvm_regmatch_t pmatch[],
> + unsigned nmatch, bool notbol=false, bool noteol=false);
These should be doxymented, and I don't understand the flags. Does this mean
that if I *don't* compile with NEWLINE, but *do* want ^/$ support, then
notbol/noteol need to be false? Do we care about u...
2009 Aug 25
0
[LLVMdev] Regular Expression lib support
...NE flag.
>> + // noteol: The match-end-of-line operator always fails to match.
>> + // unless regex was compiled with NEWLINE flag.
>> +
>> + bool matches(const char *string, bool notbol=false, bool noteol=false);
>> + bool match_sub(const char *string, llvm_regmatch_t pmatch[],
>> + unsigned nmatch, bool notbol=false, bool noteol=false);
>>
>
> These should be doxymented, and I don't understand the flags. Does this mean
> that if I *don't* compile with NEWLINE, but *do* want ^/$ support, then
> notbol/noteol...
2009 Aug 30
0
[LLVMdev] Regular Expression lib support
...2009, at 1:53 AM, Daniel Dunbar wrote:
> Nice!
>
> This looks good to me but probably Chris or someone else should sign
> off on it.
This seems ok to me, please commit. One minor comment:
+++ b/lib/Support/Regex.cpp
+ // Allocate pmatch with at least one element.
+ pmatch = new llvm_regmatch_t[nmatch > 0 ? nmatch : 1];
+ pmatch[0].rm_so = 0;
+ pmatch[0].rm_eo = String.size();
Can this be a smallvector to avoid a heap allocation on every match?
-Chris
2009 Aug 25
0
[LLVMdev] Regular Expression lib support
On 2009-08-24 20:14, Chris Lattner wrote:
> On Aug 23, 2009, at 11:59 PM, Török Edwin wrote:
>> If LLVM is going to have an integrated regex library I suggest using it
>> regardless if the platform has one.
>> The LLVM integrated regex library will provide consistent behaviour and
>> execution time, the system one will not.
>
> Hi Edwin,
>
> Can you propose
2009 Aug 28
3
[LLVMdev] Regular Expression lib support
...-of-line operator always fails to match.
>>>>> + // unless regex was compiled with NEWLINE flag.
>>>>> +
>>>>> + bool matches(const char *string, bool notbol=false, bool noteol=false);
>>>>> + bool match_sub(const char *string, llvm_regmatch_t pmatch[],
>>>>> + unsigned nmatch, bool notbol=false, bool noteol=false);
>>>>>
>>>>>
>>>> These should be doxymented, and I don't understand the flags. Does this mean
>>>> that if I *don't* compile with...
2009 Aug 24
3
[LLVMdev] Regular Expression lib support
On Aug 23, 2009, at 11:59 PM, Török Edwin wrote:
> If LLVM is going to have an integrated regex library I suggest using
> it
> regardless if the platform has one.
> The LLVM integrated regex library will provide consistent behaviour
> and
> execution time, the system one will not.
Hi Edwin,
Can you propose the openbsd implementation as a patch to lib/support?
-Chris
2011 Feb 11
0
[LLVMdev] Compiler error when self-hosting
...1]: Compiling circular_raw_ostream.cpp for Release build
llvm[1]: Compiling raw_os_ostream.cpp for Release build
llvm[1]: Compiling raw_ostream.cpp for Release build
llvm[1]: Compiling regcomp.c for Release build
UNREACHABLE executed!
0 clang 0x0000000100c268b2
llvm::SmallVectorImpl<llvm_regmatch_t>::resize(unsigned int) + 2098
1 clang 0x0000000100c26d89
llvm::SmallVectorImpl<llvm_regmatch_t>::resize(unsigned int) + 3337
2 libSystem.B.dylib 0x00007fff86e7367a _sigtramp + 26
3 libSystem.B.dylib 0x8000006300000001 _sigtramp + 2031667617
4 clang 0x0000000100c...
2009 Aug 27
2
[LLVMdev] Regular Expression lib support
...; + // noteol: The match-end-of-line operator always fails to match.
>>> + // unless regex was compiled with NEWLINE flag.
>>> +
>>> + bool matches(const char *string, bool notbol=false, bool noteol=false);
>>> + bool match_sub(const char *string, llvm_regmatch_t pmatch[],
>>> + unsigned nmatch, bool notbol=false, bool noteol=false);
>>>
>>
>> These should be doxymented, and I don't understand the flags. Does this mean
>> that if I *don't* compile with NEWLINE, but *do* want ^/$ support, then
>...
2009 Aug 27
0
[LLVMdev] Regular Expression lib support
...: The match-end-of-line operator always fails to match.
>>>> + // unless regex was compiled with NEWLINE flag.
>>>> +
>>>> + bool matches(const char *string, bool notbol=false, bool noteol=false);
>>>> + bool match_sub(const char *string, llvm_regmatch_t pmatch[],
>>>> + unsigned nmatch, bool notbol=false, bool noteol=false);
>>>>
>>>>
>>> These should be doxymented, and I don't understand the flags. Does this mean
>>> that if I *don't* compile with NEWLINE, bu...
2009 Aug 30
1
[LLVMdev] Regular Expression lib support
...it, failing here:
G:\public\zorg\buildbot\osuosl\slave\clang-i686-xp-msvc9\llvm\include\llvm/Support/IRBuilder.h(133) : error C3861: 'InsertHelper': identifier not found
>
> +++ b/lib/Support/Regex.cpp
>
> + // Allocate pmatch with at least one element.
> + pmatch = new llvm_regmatch_t[nmatch > 0 ? nmatch : 1];
> + pmatch[0].rm_so = 0;
> + pmatch[0].rm_eo = String.size();
>
> Can this be a smallvector to avoid a heap allocation on every match?
Yes, I changed it to use SmallVector.
Best regards,
--Edwin