annotate gcc/testsuite/g++.dg/template/linkage1.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // PR c++/50372
kono
parents:
diff changeset
2 // Test that a template instantiation has the same linkage as its argument.
kono
parents:
diff changeset
3 // { dg-final { scan-assembler "(weak|glob)\[^\n\]*_Z3fooIXadL_Z13external_funcvEEEvv" } }
kono
parents:
diff changeset
4 // { dg-final { scan-assembler-not "(weak|glob)\[^\n\]*_Z3fooIXadL_ZL11static_funcvEEEvv" { xfail powerpc-*-aix* } } }
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 template<void (*fptr)(void)>
kono
parents:
diff changeset
7 void foo() { }
kono
parents:
diff changeset
8
kono
parents:
diff changeset
9 static void static_func() {}
kono
parents:
diff changeset
10 void external_func() { }
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 void test()
kono
parents:
diff changeset
13 {
kono
parents:
diff changeset
14 #if __cplusplus > 199711L
kono
parents:
diff changeset
15 foo<&static_func>();
kono
parents:
diff changeset
16 #endif
kono
parents:
diff changeset
17 foo<&external_func>();
kono
parents:
diff changeset
18 }