15 Preprocessing directives [cpp]

15.3 Global module fragment [cpp.glob.frag]

pp-global-module-fragment:
	module ; pp-balanced-token-seq module
If the first two preprocessing tokens at the start of phase 4 of translation are module ;, the result of preprocessing shall begin with a pp-global-module-fragment for which all preprocessing-tokens in the pp-balanced-token-seq were produced directly or indirectly by source file inclusion ([cpp.include]), and for which the second module preprocessing-token was not produced by source file inclusion or macro replacement ([cpp.replace]).
Otherwise, the first two preprocessing tokens at the end of phase 4 of translation shall not be module ;.