I agree that we should be respecting the `__attribute__((nonnull))` on these 
functions whether or not we emit them as builtin calls; as such, it makes sense 
to me for this to be under `-fsanitize=nonnull-attribute`. A couple of minor 
copy-paste issues and then this looks fine to me, but please wait to make sure 
that @samsonov is persuaded.


REPOSITORY
  rL LLVM

================
Comment at: lib/CodeGen/CGBuiltin.cpp:715
@@ -712,1 +714,3 @@
+    EmitNonNullArgCheck(RValue::get(Src.first), E->getArg(1)->getType(),
+                        E->getArg(1)->getExprLoc(), FD, 0);
     Builder.CreateMemCpy(Dest.first, Src.first, SizeVal, Align, false);
----------------
The `0` here should be a `1`.

================
Comment at: lib/CodeGen/CGBuiltin.cpp:776
@@ -769,1 +775,3 @@
+    EmitNonNullArgCheck(RValue::get(Src.first), E->getArg(1)->getType(),
+                        E->getArg(1)->getExprLoc(), FD, 0);
     Builder.CreateMemMove(Dest.first, Src.first, SizeVal, Align, false);
----------------
Likewise.

http://reviews.llvm.org/D9673

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to