[clang] a3b632a - Remove brittle test introduced in D140547.

Utkarsh Saxena via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 13 11:26:58 PST 2023


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 at -1{{recursive template instantiation exceeded maximum depth}}
-    };
-}
-static_assert(A<1>::far());
-static_assert(!A<10001>::far()); // expected-note {{in instantiation of member function}}


        


More information about the cfe-commits mailing list