// { dg-additional-options {-fmodules-ts -fdump-lang-module-graph-blocks} } export module TPL; // { dg-module-cmi TPL } export template int foo (T x) { return int (x); } // Body is emitted in module-unit itself template <> int foo (int y) { return 0; } // { dg-final { scan-lang-dump {Dependencies of specialization function_decl:'::foo'} module } } // { dg-final { scan-lang-dump-not {Depending definition function_decl:'::foo'} module } } // { dg-final { scan-lang-dump {Cluster members:\n \[0\]=specialization declaration '::foo'} module } } // { dg-final { scan-lang-dump {Pending specialization '::foo' entity:[0-9]* section:. keyed to '::foo'} module } } // { dg-final { scan-assembler {_ZW3TPL3fooIiEiT_:} } }