[clang] [clang] Fix name conflict with `sys/mac.h` on AIX (PR #88644)

Artem Belevich via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 15 11:30:02 PDT 2024


================
@@ -50,6 +50,10 @@ const char *CudaVersionToString(CudaVersion V);
 // Input is "Major.Minor"
 CudaVersion CudaStringToVersion(const llvm::Twine &S);
 
+// We have a name conflict with sys/mac.h on AIX
+#ifdef SM_32
+#undef SM_32
+#endif
----------------
Artem-B wrote:

Ugh. What could possibly go wrong, if someone who needed the original definition of SM_32 ends up transitively including this header and losing the macro definition?

A beeter way to handle it as a workaround would be to push the macro definition, undef it, and then pop it back at the end of the header.

Even better would be to add prefixes to the macros and/or the enum here to disambiguate them

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


More information about the cfe-commits mailing list