From a3b632ab8772237ae23638f702bdceda028b2016 Mon Sep 17 00:00:00 2001 From: Utkarsh Saxena Date: Fri, 13 Jan 2023 19:41:57 +0100 Subject: [PATCH] Remove brittle test introduced in D140547. --- clang/lib/Sema/SemaTemplateInstantiate.cpp | 2 +- .../SemaCXX/invalid-requirement-requires-expr.cpp | 23 ---------------------- 2 files changed, 1 insertion(+), 24 deletions(-) delete mode 100644 clang/test/SemaCXX/invalid-requirement-requires-expr.cpp diff --git a/clang/lib/Sema/SemaTemplateInstantiate.cpp b/clang/lib/Sema/SemaTemplateInstantiate.cpp index b43a754..097203a 100644 --- a/clang/lib/Sema/SemaTemplateInstantiate.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiate.cpp @@ -1363,7 +1363,7 @@ namespace { ExprResult TransformRequiresExpr(RequiresExpr *E) { LocalInstantiationScope Scope(SemaRef, /*CombineWithOuterScope=*/true); - auto TransReq = inherited::TransformRequiresExpr(E); + ExprResult TransReq = inherited::TransformRequiresExpr(E); if (TransReq.isInvalid()) return TransReq; assert(TransReq.get() != E && diff --git a/clang/test/SemaCXX/invalid-requirement-requires-expr.cpp b/clang/test/SemaCXX/invalid-requirement-requires-expr.cpp deleted file mode 100644 index c238502..0000000 --- a/clang/test/SemaCXX/invalid-requirement-requires-expr.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// RUN: %clang_cc1 %s -I%S -std=c++2a -verify - -// RequiresExpr contains invalid requirement. (Eg. Highly recurisive template). -template -struct A { static constexpr bool far(); }; -class B { - bool data_member; - friend struct A<1>; -}; - -template<> -constexpr bool A<0>::far() { return true; } - -template -constexpr bool A::far() { - return requires(B b) { - b.data_member; - requires A::far(); //expected-note 3{{in instantiation}} // expected-note 6{{while}} expected-note {{contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all}} - // expected-error@-1{{recursive template instantiation exceeded maximum depth}} - }; -} -static_assert(A<1>::far()); -static_assert(!A<10001>::far()); // expected-note {{in instantiation of member function}} -- 2.7.4