summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/debug/dwarf2/template-params-8.C
blob: db4e0580ab8ed7ce34c408fce08a4822d6c7f3e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Origin PR debug/46955
// { dg-options "-g -dA" }
// { dg-do compile }

struct S { int f; };
template<int S::*MP> struct T { };
T<&S::f> v;

// For the type of v, we should have this DWARF generated:
//	.uleb128 0x6	# (DIE (0x57) DW_TAG_template_value_param)
//	.ascii "MP\0"	# DW_AT_name
//	.long	0x61	# DW_AT_type
//	.byte	0	# DW_AT_const_value
// So let's look for that.
// { dg-final { scan-assembler-times "\[^\n\r\]*DIE \\(\[^\n\r\]*\\) DW_TAG_template_value_param\[^\n\r\]*\[\n\r\]{1,2}\[^\n\r\]*DW_AT_name\[\n\r\]{1,2}\[^\n\r\]*DW_AT_type\[\n\r\]{1,2}\[^\n\r\]*DW_AT_const_value\[\n\r\]{1,2}" 1 } }