diff options
Diffstat (limited to 'gcc/testsuite/gdc.test/compilable/vtemplates.d')
-rw-r--r-- | gcc/testsuite/gdc.test/compilable/vtemplates.d | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/gdc.test/compilable/vtemplates.d b/gcc/testsuite/gdc.test/compilable/vtemplates.d new file mode 100644 index 00000000000..578d6c08c7a --- /dev/null +++ b/gcc/testsuite/gdc.test/compilable/vtemplates.d @@ -0,0 +1,28 @@ +/* REQUIRED_ARGS: -vtemplates +TEST_OUTPUT: +--- +compilable/vtemplates.d(10): vtemplate: 4 (3 distinct) instantiation(s) of template `foo(int I)()` found +compilable/vtemplates.d(11): vtemplate: 5 (2 distinct) instantiation(s) of template `goo1(int I)()` found +compilable/vtemplates.d(12): vtemplate: 3 (2 distinct) instantiation(s) of template `goo2(int I)()` found +--- +*/ + +void foo(int I)() { } +void goo1(int I)() { } +void goo2(int I)() { goo1!(I); } + +void test() +{ + foo!(1)(); + foo!(1)(); + foo!(2)(); + foo!(3)(); + + goo1!(1)(); + goo1!(1)(); + goo1!(2)(); + + goo2!(1)(); + goo2!(2)(); + goo2!(2)(); +} |