[all-commits] [llvm/llvm-project] c63f25: Enable -Wctad-maybe-unsupported in LLVM build

David Blaikie via All-commits all-commits at lists.llvm.org
Mon Aug 15 16:37:26 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c63f2581f4f8ff9766b55410674f97245c51b7b4
      https://github.com/llvm/llvm-project/commit/c63f2581f4f8ff9766b55410674f97245c51b7b4
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2022-08-15 (Mon, 15 Aug 2022)

  Changed paths:
    M libcxx/CMakeLists.txt
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/include/llvm/CodeGen/RDFGraph.h

  Log Message:
  -----------
  Enable -Wctad-maybe-unsupported in LLVM build

Warns on potentially unintended use of C++17 Class Template Argument
Deduction. Use of this feature with types that aren't intended to
support it may may future refactorings of those types more difficult -
so this warning fires whenever the feature is used with a type that may
not have intended to be used with CTAD (the warning uses the existence
of at least one explicit deduction guide to indicate that a type
intentionally supports CTAD - absent that, it's assumed to not be
intended to support CTAD & produces a warning).

This is disabled in libcxx because lots of the standard library is
assumed to provide ctad-usable APIs and the false positive suppression
in the diagnostic is based on system header classification which doesn't
apply in the libcxx build itself.

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




More information about the All-commits mailing list