================
@@ -1277,6 +1309,70 @@ void
CIRGenItaniumRTTIBuilder::buildVMIClassTypeInfo(mlir::Location loc,
}
}
+void CIRGenItaniumRTTIBuilder::buildPointerTypeInfo(mlir::Location loc,
+ QualType ty) {
+ // Itanium C++ ABI 2.9.4p7:
+ // abi::__pbase_type_info is a base for both pointer types and
+ // pointer-to-member types. It adds two data members:
+ //
+ // class __pbase_type_info : public std::type_info {
+ // public:
+ // unsigned int __flags;
+ // const std::type_info *__pointee;
+ //
+ // enum __masks {
+ // __const_mask = 0x1,
+ // __volatile_mask = 0x2,
+ // __restrict_mask = 0x4,
+ // __incomplete_mask = 0x8,
+ // __incomplete_class_mask = 0x10,
+ // __transaction_safe_mask = 0x20
+ // __noexcept_mask = 0x40
+ // };
+ // };
+ const unsigned int flags = extractPBaseFlags(cgm.getASTContext(), ty);
+
+ auto unsignedIntTy = cgm.convertType(cgm.getASTContext().UnsignedIntTy);
----------------
AmrDeveloper wrote:
```suggestion
mlir::Type unsignedIntTy = cgm.convertType(cgm.getASTContext().UnsignedIntTy);
```
https://github.com/llvm/llvm-project/pull/184011
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits