https://github.com/0xzre updated https://github.com/llvm/llvm-project/pull/102878
>From 11b625354ff05c4384603932e6acca347df2132b Mon Sep 17 00:00:00 2001 From: 0xzre <alilo.ghaz...@gmail.com> Date: Mon, 12 Aug 2024 17:42:37 +0700 Subject: [PATCH 1/2] [Clang][AST] Add Test Cases for Reference Qualifiers in Operator Overloads --- clang/test/SemaCXX/function-type-qual.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/clang/test/SemaCXX/function-type-qual.cpp b/clang/test/SemaCXX/function-type-qual.cpp index f4906f58abbae0..a46b774dc57e69 100644 --- a/clang/test/SemaCXX/function-type-qual.cpp +++ b/clang/test/SemaCXX/function-type-qual.cpp @@ -54,4 +54,18 @@ struct B { void operator delete(void*) volatile; //expected-error {{static member function cannot have 'volatile' qualifier}} void operator delete[](void*) volatile; //expected-error {{static member function cannot have 'volatile' qualifier}} }; + +struct C { + void* operator new(size_t bytes) &; //expected-error {{static member function cannot have '&' qualifier}} + void* operator new[](size_t bytes) &; //expected-error {{static member function cannot have '&' qualifier}} + + void* operator new(size_t bytes) &&; //expected-error {{static member function cannot have '&&' qualifier}} + void* operator new[](size_t bytes) &&; //expected-error {{static member function cannot have '&&' qualifier}} + + void operator delete(void*) &; //expected-error {{static member function cannot have '&' qualifier}} + void operator delete[](void*) &; //expected-error {{static member function cannot have '&' qualifier}} + + void operator delete(void*) &&; //expected-error {{static member function cannot have '&&' qualifier}} + void operator delete[](void*) &&; //expected-error {{static member function cannot have '&&' qualifier}} +}; } >From cd1b96c5b302ff0c094875b18b9276872679313b Mon Sep 17 00:00:00 2001 From: Muhammad Abdul <alilo.ghaz...@gmail.com> Date: Mon, 12 Aug 2024 19:21:44 +0700 Subject: [PATCH 2/2] Update clang/test/SemaCXX/function-type-qual.cpp gh issue identifier Co-authored-by: Yanzuo Liu <zw...@outlook.com> --- clang/test/SemaCXX/function-type-qual.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/test/SemaCXX/function-type-qual.cpp b/clang/test/SemaCXX/function-type-qual.cpp index a46b774dc57e69..c4dcf2a05c92fe 100644 --- a/clang/test/SemaCXX/function-type-qual.cpp +++ b/clang/test/SemaCXX/function-type-qual.cpp @@ -55,7 +55,7 @@ struct B { void operator delete[](void*) volatile; //expected-error {{static member function cannot have 'volatile' qualifier}} }; -struct C { +struct GH102422 { void* operator new(size_t bytes) &; //expected-error {{static member function cannot have '&' qualifier}} void* operator new[](size_t bytes) &; //expected-error {{static member function cannot have '&' qualifier}} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits