// { dg-additional-options "-fmodules-ts" } module; export module frist; // { dg-module-cmi "!frist" } import frist; // { dg-error {cannot import module.* in its own purview} } module foo.second; // { dg-error "only permitted as" } namespace Foo { module third; // { dg-error "must be at global scope" } } struct Baz { module forth; // { dg-error "unexpected module directive" } // { dg-message "line break after .module." "" { target *-*-* } .-1 } }; void Bink () { module fifth; // { dg-error "unexpected module directive" } // { dg-message "line break after .module." "" { target *-*-* } .-1 } } module a.; // { dg-error "only permitted as" }