summaryrefslogtreecommitdiff
path: root/libcxx/CMakeLists.txt
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2022-08-11 21:55:44 +0000
committerDavid Blaikie <dblaikie@gmail.com>2022-08-15 23:28:51 +0000
commitc63f2581f4f8ff9766b55410674f97245c51b7b4 (patch)
treede9903e22fb6926d251ed893e8fa7db11ca0dd3e /libcxx/CMakeLists.txt
parent5a1f864e89ab4a8e43fd12c9ee590b6c4558deb7 (diff)
downloadllvm-c63f2581f4f8ff9766b55410674f97245c51b7b4.tar.gz
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
Diffstat (limited to 'libcxx/CMakeLists.txt')
-rw-r--r--libcxx/CMakeLists.txt1
1 files changed, 1 insertions, 0 deletions
diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt
index bbc9005274ff..aeaf6b062472 100644
--- a/libcxx/CMakeLists.txt
+++ b/libcxx/CMakeLists.txt
@@ -592,6 +592,7 @@ function(cxx_add_warning_flags target)
-Wno-user-defined-literals
-Wno-covered-switch-default
-Wno-suggest-override
+ -Wno-ctad-maybe-unsupported
)
if (LIBCXX_TARGETING_CLANG_CL)
target_add_compile_flags_if_supported(${target} PRIVATE