Index: lib/Frontend/InitPreprocessor.cpp =================================================================== --- lib/Frontend/InitPreprocessor.cpp +++ lib/Frontend/InitPreprocessor.cpp @@ -543,6 +543,7 @@ // C++20 features. if (LangOpts.Char8) Builder.defineMacro("__cpp_char8_t", "201811L"); + Builder.defineMacro("__cpp_impl_destroying_delete", "201806L"); // TS features. if (LangOpts.ConceptsTS) Index: test/Lexer/cxx-features.cpp =================================================================== --- test/Lexer/cxx-features.cpp +++ test/Lexer/cxx-features.cpp @@ -34,6 +34,10 @@ #error "wrong value for __cpp_char8_t" #endif +#if check(impl_destroying_delete, 201806, 201806, 201806, 201806, 201806) +#error "wrong value for __cpp_impl_destroying_delete" +#endif + // --- C++17 features --- #if check(hex_float, 0, 0, 0, 201603, 201603)