================ @@ -362,6 +362,17 @@ class LangOptionsBase { BKey }; + enum class PointerFieldProtectionKind { ---------------- ojhunt wrote:
I'm not sure I like this being solely a global decision - it makes custom allocators much harder, and it makes it hard for allocators that have different policies, e.g ```cpp struct ImportantStruct { void *operator new(size_t) { /*tagged allocator*/ } }; struct BoringStruct { ... }; struct SomeOtherStruct { ImportantStruct *important; // should be tagged pointer BoringString *lessImportant; // should be a non tagged pointer }; ``` This would again require a struct attribute to indicate the pointer policy https://github.com/llvm/llvm-project/pull/133538 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits