[clang] [clang][docs] assert.h is not a good candidate for a textual header (PR #165057)

Ian Anderson via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 27 12:59:30 PDT 2025


================
@@ -421,13 +421,7 @@ As an example, the module map file for the C standard library might look a bit l
 
 .. parsed-literal::
 
-  module std [system] [extern_c] {
----------------
ian-twilightcoder wrote:

The problem with `[extern_c]` is it sticks all of the includes in the module inside of extern C which runs you into `-Wmodule-import-in-extern-c` which is promoted to an error by default. Plus you never know when an include will transitively include a C++ header like <stdint.h>, so you really don't _want_ your includes to be extern C. It's kind of a flawed attribute, at some point I would propose that we remove it.

https://github.com/llvm/llvm-project/pull/165057


More information about the cfe-commits mailing list