So it looks like the problem isn't in the pattern matching, it is in the
counting.

If I use this:

/* { dg-final { scan-assembler-times  "data1.*?0x3.*? DW_AT_inline" 3 } } */

Everything works.  If I change it to:

/* { dg-final { scan-assembler-times  "(data1|byte).*?0x3.*? DW_AT_inline" 3 } 
} */

Then it fails.  But if I change the count from 3 to 2, like this:

/* { dg-final { scan-assembler-times  "(data1|byte).*?0x3.*? DW_AT_inline" 2 } 
} */

Then it works again.

Now, there are 3 instances of the string in the output file, I know that 
because the first
string that I use (with no pipe in it) works and by looking at the assembler 
file by hand.
But for some reason when I add the parens to the expression then the 
scan-assembler-times thinks
there are only two instances.  But there are 3 when I run it by hand and all 3 
lines are exactly
identical.  This must be a bug in the scan-assembler-times code somewhere.

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

Reply via email to