diff options
author | Serge Guelton <sguelton@quarkslab.com> | 2017-04-11 15:01:18 +0000 |
---|---|---|
committer | Serge Guelton <sguelton@quarkslab.com> | 2017-04-11 15:01:18 +0000 |
commit | 59a2d7b9093617aff6b6f147ba267bc788aa08b7 (patch) | |
tree | 2ffc9141cd19edf0d123828627a9f1e8c4c19907 /llvm/lib/CodeGen/StackProtector.cpp | |
parent | de3b9a2ecc7e9ebe3fc1780aede0223821c52d2a (diff) | |
download | bcm5719-llvm-59a2d7b9093617aff6b6f147ba267bc788aa08b7.tar.gz bcm5719-llvm-59a2d7b9093617aff6b6f147ba267bc788aa08b7.zip |
Module::getOrInsertFunction is using C-style vararg instead of variadic templates.
From a user prospective, it forces the use of an annoying nullptr to mark the end of the vararg, and there's not type checking on the arguments.
The variadic template is an obvious solution to both issues.
Differential Revision: https://reviews.llvm.org/D31070
llvm-svn: 299949
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
-rw-r--r-- | llvm/lib/CodeGen/StackProtector.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/StackProtector.cpp b/llvm/lib/CodeGen/StackProtector.cpp index e3fdb96f620..a8aafe78748 100644 --- a/llvm/lib/CodeGen/StackProtector.cpp +++ b/llvm/lib/CodeGen/StackProtector.cpp @@ -484,13 +484,13 @@ BasicBlock *StackProtector::CreateFailBB() { Constant *StackChkFail = M->getOrInsertFunction("__stack_smash_handler", Type::getVoidTy(Context), - Type::getInt8PtrTy(Context), nullptr); + Type::getInt8PtrTy(Context)); B.CreateCall(StackChkFail, B.CreateGlobalStringPtr(F->getName(), "SSH")); } else { Constant *StackChkFail = - M->getOrInsertFunction("__stack_chk_fail", Type::getVoidTy(Context), - nullptr); + M->getOrInsertFunction("__stack_chk_fail", Type::getVoidTy(Context)); + B.CreateCall(StackChkFail, {}); } B.CreateUnreachable(); |