1 // Contributed by Dodji Seketeli <dodji@redhat.com>
2 // Origin PR debug/30161
3 // { dg-options "-gdwarf-2 -dA -gno-strict-dwarf -fno-merge-debug-strings" }
4 // { dg-final { scan-assembler "DW_TAG_template_value_param" } }
5 // { dg-final { scan-assembler "f\[^\n\r]* DW_AT_name" } }
6 // { dg-final { scan-assembler "DW_AT_location\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_addr\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*_Z4blehv\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_stack_value" } } */
7 
8 typedef void (*func_ptr)();
9 
10 template <func_ptr f>
11 int
func()12 func()
13 {
14     f();
15     return 0;
16 }
17 
18 void
bleh()19 bleh()
20 {
21 }
22 
23 int c = func<bleh>();
24 
25