1 // { dg-additional-options "-fmodules-ts -fdump-lang-module-blocks" } 2 3 export module bob; 4 // { dg-module-cmi bob } 5 6 export struct peeker 7 { 8 static int peek (void *); 9 }; 10 11 12 export class hidey 13 { 14 protected: 15 int key; 16 17 public: hidey(int key)18 hidey (int key) :key (key) 19 { 20 } 21 22 friend class peeker; 23 }; 24 25 export class secret : public hidey 26 { 27 public: secret(int key)28 secret (int key) : hidey (key) 29 { 30 } 31 }; 32 33 // hidey, peeker & secret are all in different clusters 34 35 // { dg-final { scan-lang-dump {Cluster members:\n \[0\]=decl definition '::peeker'\n( \[.\]=[^\n]*'\n)* \[.\]=binding '::peeker'} module } } 36 // { dg-final { scan-lang-dump {Cluster members:\n \[0\]=decl definition '::hidey'\n( \[.\]=[^\n]*'\n)* \[.\]=binding '::hidey'} module } } 37 // { dg-final { scan-lang-dump {Cluster members:\n \[0\]=decl definition '::secret'\n( \[.\]=[^\n]*'\n)* \[.\]=binding '::secret'} module } } 38