| 244 | } |
| 245 | |
| 246 | static void Dump(StringPiece pattern, Regexp::ParseFlags flags, |
| 247 | std::string* forward, std::string* reverse) { |
| 248 | Regexp* re = Regexp::Parse(pattern, flags, NULL); |
| 249 | EXPECT_TRUE(re != NULL); |
| 250 | |
| 251 | if (forward != NULL) { |
| 252 | Prog* prog = re->CompileToProg(0); |
| 253 | EXPECT_TRUE(prog != NULL); |
| 254 | *forward = prog->Dump(); |
| 255 | delete prog; |
| 256 | } |
| 257 | |
| 258 | if (reverse != NULL) { |
| 259 | Prog* prog = re->CompileToReverseProg(0); |
| 260 | EXPECT_TRUE(prog != NULL); |
| 261 | *reverse = prog->Dump(); |
| 262 | delete prog; |
| 263 | } |
| 264 | |
| 265 | re->Decref(); |
| 266 | } |
| 267 | |
| 268 | TEST(TestCompile, Bug26705922) { |
| 269 | // Bug in the compiler caused inefficient bytecode to be generated for Unicode |
no test coverage detected