[LLVMdev] SIGILL in regex::assign()

Paweł Tomulik ptomulik at meil.pw.edu.pl
Fri Feb 13 06:30:15 PST 2015


W dniu 13.02.2015 o 05:57, Tim Northover pisze:
> Hi Paweł
>
>> Where should I report the bug?
> LLVM appears to be calling this function from libstdc++'s regex.h
> (4.9.2 in my case):
>
> basic_regex& assign(basic_regex&& __rhs)
> {
>   _M_flags = __rhs._M_flags;
>   _M_original_str = std::move(__rhs._M_original_str);
>   __rhs._M_automaton.reset();
>   this->imbue(__rhs.getloc());
> }
>
> This is declared to return a basic_regex but doesn't, which LLVM ends
> up emitting an undefined instruction trap for. This is valid because
> the function has undefined behaviour.
>
> So I say libstdc++, unless they've already fixed it.
>
> Cheers.
>
> Tim.

Thanks,

according to https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00854.html
it's fixed in gcc-4.9.3.


-- 
Paweł Tomulik, tel. (22) 234 7925
Instytut Techniki Lotniczej i Mechaniki Stosowanej
Politechnika Warszawska





More information about the llvm-dev mailing list