Turn cl::values() (for enum) from a vararg function to using C++ variadic template
authorMehdi Amini <mehdi.amini@apple.com>
Sat, 8 Oct 2016 19:41:06 +0000 (19:41 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Sat, 8 Oct 2016 19:41:06 +0000 (19:41 +0000)
commit732afdd09a7ff0e8ec60fc9503ed947a9b7b7eca
tree17fc2ccb250922e11410849638641e52007b211d
parent30cbd1ab84a26e688ee7910a32e13722feabfb57
Turn cl::values() (for enum) from a vararg function to using C++ variadic template

The core of the change is supposed to be NFC, however it also fixes
what I believe was an undefined behavior when calling:

 va_start(ValueArgs, Desc);

with Desc being a StringRef.

Differential Revision: https://reviews.llvm.org/D25342

llvm-svn: 283671
47 files changed:
clang-tools-extra/include-fixer/tool/ClangIncludeFixer.cpp
clang/tools/c-index-test/core_main.cpp
clang/utils/TableGen/TableGen.cpp
llvm/docs/CommandLine.rst
llvm/include/llvm/CodeGen/CommandFlags.h
llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
llvm/include/llvm/Support/CommandLine.h
llvm/lib/Analysis/BlockFrequencyInfo.cpp
llvm/lib/Analysis/RegionInfo.cpp
llvm/lib/Analysis/TargetLibraryInfo.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
llvm/lib/CodeGen/RegAllocGreedy.cpp
llvm/lib/CodeGen/SafeStack.cpp
llvm/lib/CodeGen/TargetPassConfig.cpp
llvm/lib/IR/LegacyPassManager.cpp
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
llvm/lib/Target/ARM/ARMSubtarget.cpp
llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
llvm/lib/Transforms/IPO/Inliner.cpp
llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
llvm/tools/bugpoint/ExecutionDriver.cpp
llvm/tools/lli/OrcLazyJIT.cpp
llvm/tools/lli/lli.cpp
llvm/tools/llvm-ar/llvm-ar.cpp
llvm/tools/llvm-cov/CodeCoverage.cpp
llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
llvm/tools/llvm-lto/llvm-lto.cpp
llvm/tools/llvm-mc-fuzzer/llvm-mc-fuzzer.cpp
llvm/tools/llvm-mc/llvm-mc.cpp
llvm/tools/llvm-nm/llvm-nm.cpp
llvm/tools/llvm-objdump/llvm-objdump.cpp
llvm/tools/llvm-profdata/llvm-profdata.cpp
llvm/tools/llvm-readobj/llvm-readobj.cpp
llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
llvm/tools/llvm-size/llvm-size.cpp
llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
llvm/tools/sancov/sancov.cc
llvm/utils/TableGen/TableGen.cpp
polly/lib/Analysis/DependenceInfo.cpp
polly/lib/CodeGen/IslExprBuilder.cpp
polly/lib/Support/RegisterPasses.cpp