================
@@ -698,6 +704,31 @@ void CIRGenModule::constructFunctionArgumentAttributes(
             builder.getI64IntegerAttr(
                 getNaturalPointeeTypeAlignment(argType).getQuantity()));
     }
+
+    // Source-level parameter attributes (restrict, nonnull) require
+    // ParmVarDecl access since canonical types strip restrict.
+    if (fd && argType->isPointerType()) {
+      unsigned srcIdx = info.isInstanceMethod() ? argNo - 1 : argNo;
----------------
adams381 wrote:

Restructured -- built a parallel SmallVector<const ParmVarDecl *> aligned with 
argAttrs, added it to zip_equal.  No more index arithmetic.  Also updated 
new-delete-deactivation.cpp for nonnull on operator new calls.

https://github.com/llvm/llvm-project/pull/188281
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to