OSDN Git Service

Module::getOrInsertFunction is using C-style vararg instead of variadic templates.
authorSerge Guelton <sguelton@quarkslab.com>
Tue, 11 Apr 2017 15:01:18 +0000 (15:01 +0000)
committerSerge Guelton <sguelton@quarkslab.com>
Tue, 11 Apr 2017 15:01:18 +0000 (15:01 +0000)
commit9d54400bba7eb04bca80fce97fa170452d19eaf1
tree64e13b01cf723975134a80e3940dc21c3f537be7
parentafa9824a92d8968c3f85bed2740c35fa79a4d4c1
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299949 91177308-0d34-0410-b5e6-96231b3b80d8
30 files changed:
examples/BrainF/BrainF.cpp
examples/BrainF/BrainFDriver.cpp
examples/Fibonacci/fibonacci.cpp
examples/HowToUseJIT/HowToUseJIT.cpp
examples/ParallelJIT/ParallelJIT.cpp
include/llvm/IR/Module.h
lib/CodeGen/CountingFunctionInserter.cpp
lib/CodeGen/IntrinsicLowering.cpp
lib/CodeGen/MachineOutliner.cpp
lib/CodeGen/SafeStack.cpp
lib/CodeGen/SjLjEHPrepare.cpp
lib/CodeGen/StackProtector.cpp
lib/CodeGen/TargetLoweringBase.cpp
lib/IR/Instructions.cpp
lib/IR/Module.cpp
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
lib/Target/Mips/Mips16HardFloat.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Transforms/IPO/CrossDSOCFI.cpp
lib/Transforms/IPO/WholeProgramDevirt.cpp
lib/Transforms/Instrumentation/AddressSanitizer.cpp
lib/Transforms/Instrumentation/EfficiencySanitizer.cpp
lib/Transforms/Instrumentation/MemorySanitizer.cpp
lib/Transforms/Instrumentation/SanitizerCoverage.cpp
lib/Transforms/Instrumentation/ThreadSanitizer.cpp
lib/Transforms/Scalar/LoopIdiomRecognize.cpp
lib/Transforms/Utils/BuildLibCalls.cpp
lib/Transforms/Utils/SimplifyLibCalls.cpp
tools/bugpoint/Miscompilation.cpp
tools/lli/lli.cpp