Author: aaronballman
Date: Thu Mar 12 08:49:45 2015
New Revision: 232037

URL: http://llvm.org/viewvc/llvm-project?rev=232037&view=rev
Log:
Instead of dereferencing std::vector::end() (which is UB and causes failed 
assertions in debug builds with Visual Studio), use data() + size() to 
calculate the end iterator. Amends r231952.

Modified:
    cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp

Modified: cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp?rev=232037&r1=232036&r2=232037&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp (original)
+++ cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp Thu Mar 12 08:49:45 2015
@@ -3296,7 +3296,8 @@ MicrosoftCXXABI::getAddrOfCXXCopyCtorClo
   CodeGenFunction::RunCleanupsScope Cleanups(CGF);
 
   const auto *FPT = CD->getType()->castAs<FunctionProtoType>();
-  ConstExprIterator ArgBegin(ArgVec.data()), ArgEnd(&*ArgVec.end());
+  ConstExprIterator ArgBegin(ArgVec.data()),
+      ArgEnd(ArgVec.data() + ArgVec.size());
   CGF.EmitCallArgs(Args, FPT, ArgBegin, ArgEnd, CD, 1);
 
   // Insert any ABI-specific implicit constructor arguments.


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

Reply via email to