[clang] [clang] Fix assertion failure with explicit(bool) in pre-C++11 modes (PR #152985)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 11 06:09:27 PDT 2025


================
@@ -0,0 +1,14 @@
+// Regression test for assertion failure when explicit(bool) is used in pre-C++20
+// Fixes GitHub issue #152729
+// RUN: %clang_cc1 -std=c++03 -verify %s
+// RUN: %clang_cc1 -std=c++11 -verify %s
+// RUN: %clang_cc1 -std=c++14 -verify %s
+// RUN: %clang_cc1 -std=c++17 -verify %s
+
+struct S {
+  explicit(true) S(int);
+  // expected-warning at -1 {{explicit(bool) is a C++20 extension}}
+  
+  explicit(false) S(float);
+  // expected-warning at -1 {{explicit(bool) is a C++20 extension}}
+};
----------------
AaronBallman wrote:

Can you add a newline to the end of the file?

https://github.com/llvm/llvm-project/pull/152985


More information about the cfe-commits mailing list