aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlok Kumar Sharma <AlokKumar.Sharma@amd.com>2021-08-03 15:19:00 +0530
committerAlok Kumar Sharma <AlokKumar.Sharma@amd.com>2021-08-03 15:20:04 +0530
commit748aa9b65364d72b0f9a36139e292eaf3bc86aa4 (patch)
treee8785d977bfd3c8eb1e0f2042f54f0eae1a90033
parentcee6789e1bb0aaa7f4e43ab22e4660039c6b1f34 (diff)
downloadfsf-binutils-gdb-748aa9b65364d72b0f9a36139e292eaf3bc86aa4.zip
fsf-binutils-gdb-748aa9b65364d72b0f9a36139e292eaf3bc86aa4.tar.gz
fsf-binutils-gdb-748aa9b65364d72b0f9a36139e292eaf3bc86aa4.tar.bz2
[gdb/testsuite] templates.exp to accept clang++ output
Please consider below testcase with intended error. `````````` constexpr const char cstring[] = "Eta"; template <const char*, typename T> class Column {}; using quick = Column<cstring,double>; // cstring without '&' void lookup() { quick c1; c1.ls(); } `````````` It produces below error. `````````` no member named 'ls' in 'Column<&cstring, double>'. `````````` Please note that error message contains '&' for cstring, which is absent in actual program. Clang++ does not generate & in such cases and this should also be accepted as correct output. gdb/testsuite/ChangeLog: * gdb.cp/templates.exp: Accept different but correct output from the Clang++ compiled binary also.
-rw-r--r--gdb/testsuite/gdb.cp/templates.exp3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.cp/templates.exp b/gdb/testsuite/gdb.cp/templates.exp
index 8b905e4..388c4f26 100644
--- a/gdb/testsuite/gdb.cp/templates.exp
+++ b/gdb/testsuite/gdb.cp/templates.exp
@@ -515,6 +515,9 @@ gdb_test_multiple "ptype/r quxint" "ptype quxint" {
-re "type = class Qux<int, ?& ?string> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*.*int qux\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" {
pass "ptype quxint"
}
+ -re "type = class Qux<int, string> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*.*int qux\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" {
+ pass "ptype quxint"
+ }
-re "type = class Qux<int, ?& ?string> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int qux\\(int, int\\);.*\r\n\\}\r\n$gdb_prompt $" {
pass "ptype quxint"
}