【发布时间】:2016-05-19 19:21:17
【问题描述】:
我想用 DejaGnu 扫描一个程序集文件:
ld.h %d2,
但我无法解释点字符和数字字符。 我尝试了以下方法:(一个反斜杠,两个反斜杠和括号)
/* { dg-final { scan-assembler-times "ld\.h\t%d\d," 1 { target { tricore-*-* } } } } */
/* { dg-final { scan-assembler-times "ld\\.h\t%d\\d," 1 { target { tricore-*-* } } } } */
/* { dg-final { scan-assembler-times "ld[.]h\t%d[0-9]," 1 { target { tricore-*-* } } } } */
- 带有一个反斜杠的情况:它只是消失了,因此正则表达式的含义正在改变。
- 带有两个反斜杠:它保留两个反斜杠,因此在扫描期间没有匹配项。
- 带括号:出现错误。
输出:
Running ../../../../testsuite/mytest/TX-1234.exp ...
PASS: testsuite/mytest/size16.c (test for excess errors)
FAIL: testsuite/mytest/size16.c scan-assembler-times \tld.h\t%dd, 1
FAIL: testsuite/mytest/size16.c scan-assembler-times \tld\\.h\t%d\\d, 1
ERROR: (DejaGnu) proc "." does not exist.
那么,我该如何解释\. 字符或\d 十进制字符?
【问题讨论】: