Author: Utkarsh Saxena Date: 2023-01-13T20:26:38+01:00 New Revision: a3b632ab8772237ae23638f702bdceda028b2016
URL: https://github.com/llvm/llvm-project/commit/a3b632ab8772237ae23638f702bdceda028b2016 DIFF: https://github.com/llvm/llvm-project/commit/a3b632ab8772237ae23638f702bdceda028b2016.diff LOG: Remove brittle test introduced in D140547. Added: Modified: clang/lib/Sema/SemaTemplateInstantiate.cpp Removed: clang/test/SemaCXX/invalid-requirement-requires-expr.cpp ################################################################################ diff --git a/clang/lib/Sema/SemaTemplateInstantiate.cpp b/clang/lib/Sema/SemaTemplateInstantiate.cpp index b43a754a58ce7..097203a1c87e9 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 c23850219c8a8..0000000000000 --- 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<int x> -struct A { static constexpr bool far(); }; -class B { - bool data_member; - friend struct A<1>; -}; - -template<> -constexpr bool A<0>::far() { return true; } - -template<int x> -constexpr bool A<x>::far() { - return requires(B b) { - b.data_member; - requires A<x-1>::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}} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits