On Tue, 2009-10-27 at 02:09 -0400, Kaveh R. GHAZI wrote:
> On Mon, 26 Oct 2009, Steve Ellcey wrote:
> 
> > I have tried:
> > /* { dg-final { scan-assembler-times "(byte|data1).*?0x3.*? DW_AT_inline" 3 
> > } } */
> > /* { dg-final { scan-assembler-times "(byte\|data1).*?0x3.*? DW_AT_inline" 
> > 3 } } */
> > /* { dg-final { scan-assembler-times "\(byte\|data1\).*?0x3.*? 
> > DW_AT_inline" 3 } } */
> >
> > And various other escapes, parenthesis, etc but cannot get any of them
> > to work.  Does anyone know what this RE should look like to allow 'byte'
> > or 'data1' in the string?  It seems to break as soon as I introduce
> > parenthesis anywhere in the RE.
> 
> I think you need two backslashes escaping the paren and maybe one before
> the pipe.  I'm not sure about the \| vs | though, give the double escape
> paren a try both ways.  You can see some examples via:
> 
>       find gcc/testsuite | xargs grep 'scan-assembler-times.*[(|]'
> 
>               --Kaveh

I tried two backslashes in front of the parens and either one or no
backslashes in front of the pipe.  None of them work.  I did a find
looking for examples and that didn't help.  The most common usage I
found was no backslashes before the parens and one backslash before the
pipe.  But those examples didn't have any .*? expressions in them and I
don't know if that is messing things up somehow because that doesn't
work for me in this case.

Steve Ellcey
s...@cup.hp.com

Reply via email to