[PATCH] D80887: [clang-tidy] ignore builtin varargs from pro-type-vararg-check

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 3 08:15:50 PDT 2020


aaron.ballman added inline comments.


================
Comment at: clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp:39
+    "__builtin_classify_type",
+    // "__builtin_va_start",
+    // "__builtin_stdarg_start",
----------------
njames93 wrote:
> aaron.ballman wrote:
> > I think we may want to keep this one as it's the builtin for the `va_start` macro, which is not variadic.
> Allowing `va_start` makes sense, but its breaking the current test cases. According to the documentation that is expected behaviour, So shall I remove `__builtin_va_start` again?
I think that test case is wrong and should be changed, tbh. The point to the rule is to not call variadic functions. There's a different rule about not defining a variadic interface, so that warning should be `do not use va_start/va_arg to define c-style vararg functions; use variadic templates instead`, not this one.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80887/new/

https://reviews.llvm.org/D80887





More information about the cfe-commits mailing list