[clang] [Clang] Implement P3034R1 Module Declarations Shouldn’t be Macros (PR #90574)

Michael Spencer via cfe-commits cfe-commits at lists.llvm.org
Mon May 6 14:36:57 PDT 2024


================
@@ -932,6 +932,12 @@ def warn_module_conflict : Warning<
   InGroup<ModuleConflict>;
 
 // C++20 modules
+def err_module_decl_cannot_be_macros : Error<
+  "the name of a module%select{| partition}0 declaration cannot contains "
+  "an object-like macro %1, and the macro will not expand"
+  "%select{|; did you mean '%3'?}2">;
----------------
Bigcheese wrote:

Not sure if you need "and the macro will not expand" here. Per the spec you don't even get to if expansion happens or not, it's just invalid being a macro.

```suggestion
def err_module_decl_cannot_be_macros : Error<
  "the module name in a module%select{| partition}0 declaration cannot contain "
  "an object-like macro %1%select{|; did you mean '%3'?}2">;
```

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


More information about the cfe-commits mailing list