Use variadic templates instead of relying on <cstdarg> + sentinel.
This enforces better type checking and makes code more readable.
No functional change.
Paths
| Differential D32541
Supress all uses of LLVM_END_WITH_NULL ClosedPublic Authored by serge-sans-paille on Apr 26 2017, 8:56 AM.
Details Summary Use variadic templates instead of relying on <cstdarg> + sentinel. This enforces better type checking and makes code more readable. No functional change.
Diff Detail
Event TimelineComment Actions Note: I also have a patch to apply to clang because of the API chagne. What's the policy for cross-repo commits? serge-sans-paille added a child revision: D32550: Supress all uses of LLVM_END_WITH_NULL.Apr 26 2017, 11:54 AM Comment Actions+ attached clang changes Comment Actions
Informal Policy is: you should update it, at least when it is about clang (a large part of the CI testing is bootstrapping the compiler). (Side Note: this setup helps to do it atomically in one review / one commit : http://llvm.org/docs/GettingStarted.html#for-developers-to-work-with-a-git-monorepo )
Comment Actions LGTM (provided you build/tested clang)
This revision is now accepted and ready to land.May 9 2017, 8:12 AM Closed by commit rL302571: Suppress all uses of LLVM_END_WITH_NULL. NFC. (authored by serge_sans_paille). · Explain WhyMay 9 2017, 12:44 PM This revision was automatically updated to reflect the committed changes. Comment Actions @chandlerc thanks ! What's the minimal set of dependencies I should have checked in case of such API change?
Revision Contents
Diff 96795 include/llvm/ADT/STLExtras.h
include/llvm/IR/Constants.h
include/llvm/IR/DerivedTypes.h
include/llvm/Support/Compiler.h
lib/CodeGen/SjLjEHPrepare.cpp
lib/IR/Constants.cpp
lib/IR/Instructions.cpp
lib/IR/Module.cpp
lib/IR/Type.cpp
lib/Target/AArch64/AArch64ISelLowering.cpp
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Transforms/Instrumentation/AddressSanitizer.cpp
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
lib/Transforms/Instrumentation/EfficiencySanitizer.cpp
lib/Transforms/Utils/EscapeEnumerator.cpp
lib/Transforms/Utils/ModuleUtils.cpp
lib/Transforms/Utils/SimplifyLibCalls.cpp
lib/Transforms/Utils/ValueMapper.cpp
tools/bugpoint/ExtractFunction.cpp
unittests/ExecutionEngine/Orc/OrcTestCommon.h
unittests/IR/TypeBuilderTest.cpp
|
Why do you need the false here?