Hi! On Thu, Nov 15, 2018 at 12:44:36PM +0000, Wilco Dijkstra wrote: > > On Wed, Nov 14, 2018 at 12:37:05PM +0000, Wilco Dijkstra wrote: > >> +/* { dg-final { scan-assembler-not { dup } } } */ > >> +/* { dg-final { scan-assembler-not { fmov } } } */ > > > > { dup } is the same as " dup " , that is, with spaces and all. > > I don't think you want that (there usually is a tab character before > > mnemonics, so \s would work better, or use \m and \M. Or nothing, > > just delete the spaces, if you are sure nothing in the generated > > assembler code says "dup"). > > Thanks for spotting that! I removed the spaces (below). The syntax is > arcane to say the least but it seems {} has fewer bugs in regular expressions.
The Tcl syntax is easy really. https://www.tcl.tk/man/tcl/TclCmd/Tcl.htm (or just "man tcl" on many systems). (Well okay, do ignore {*} :-) ) {} is like '' in Perl; just literal strings. "" gets various forms of substitution, but {} does not. > I can never figure out how many \ to use so it works exactly identically > across > different regexp/tcl versions. It is the same in all Tcl versions. https://www.tcl.tk/man/tcl/TclCmd/re_syntax.htm (man re_syntax). But DejaGnu can do surprising things :-( Many of the {} you see in dg-* constructs are handled by DejaGnu code, and this isn't always a very good approximation of the Tcl semantics. Segher