[clang] 0d1363e - Revert "[Sema] Mark explicit specialization declaration in a friend invalid"

Yuanfang Chen via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 15 10:27:20 PST 2021


Author: Yuanfang Chen
Date: 2021-12-15T10:25:37-08:00
New Revision: 0d1363e5614e24d164373e19e3f4b7102188d4e3

URL: https://github.com/llvm/llvm-project/commit/0d1363e5614e24d164373e19e3f4b7102188d4e3
DIFF: https://github.com/llvm/llvm-project/commit/0d1363e5614e24d164373e19e3f4b7102188d4e3.diff

LOG: Revert "[Sema] Mark explicit specialization declaration in a friend invalid"

This reverts commit 8cb6ecbc4da2b0cfd8dcf04f612dc413716d27a1.

Nothing wrong with the commit. It is missing Phabricator informations.

Added: 
    

Modified: 
    clang/lib/Sema/SemaDecl.cpp

Removed: 
    clang/test/CXX/temp/temp.spec/temp.expl.spec/p20-2.cpp


################################################################################
diff  --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 5e9c92db81b4a..b1312a7ccc512 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -9202,7 +9202,6 @@ Sema::ActOnFunctionDeclarator(Scope *S, Declarator &D, DeclContext *DC,
             << Name << RemoveRange
             << FixItHint::CreateRemoval(RemoveRange)
             << FixItHint::CreateInsertion(InsertLoc, "<>");
-          Invalid = true;
         }
       }
     } else {

diff  --git a/clang/test/CXX/temp/temp.spec/temp.expl.spec/p20-2.cpp b/clang/test/CXX/temp/temp.spec/temp.expl.spec/p20-2.cpp
deleted file mode 100644
index 7bc5f13cd7375..0000000000000
--- a/clang/test/CXX/temp/temp.spec/temp.expl.spec/p20-2.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -verify %s
-template<typename T>
-void f(T);
-
-template<typename T>
-struct A {
-  // expected-error at +1{{cannot declare an explicit specialization in a friend}}
-  template <> friend void f<>(int) {}
-};
-
-// Makes sure implicit instantiation here does not trigger
-// the assertion "Member specialization must be an explicit specialization"
-void foo(void) {
-    A<int> a;
-}


        


More information about the cfe-commits mailing list