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