107163879Schristos /* This testcase is part of GDB, the GNU debugger. 207163879Schristos 3*1424dfb3Schristos Copyright 2018-2020 Free Software Foundation, Inc. 407163879Schristos 507163879Schristos This program is free software; you can redistribute it and/or modify 607163879Schristos it under the terms of the GNU General Public License as published by 707163879Schristos the Free Software Foundation; either version 3 of the License, or 807163879Schristos (at your option) any later version. 907163879Schristos 1007163879Schristos This program is distributed in the hope that it will be useful, 1107163879Schristos but WITHOUT ANY WARRANTY; without even the implied warranty of 1207163879Schristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1307163879Schristos GNU General Public License for more details. 1407163879Schristos 1507163879Schristos You should have received a copy of the GNU General Public License 1607163879Schristos along with this program. If not, see <http://www.gnu.org/licenses/>. */ 1707163879Schristos 1807163879Schristos class A { 1907163879Schristos typedef A type; 2007163879Schristos public: operator ==(const type & other)2107163879Schristos bool operator==(const type& other) { return true; } 2207163879Schristos 2307163879Schristos static const type INSTANCE; 2407163879Schristos }; 2507163879Schristos 2607163879Schristos const A A::INSTANCE = {}; 2707163879Schristos main()2807163879Schristosint main() { 2907163879Schristos A a; 3007163879Schristos if (a == A::INSTANCE) { 3107163879Schristos return -1; 3207163879Schristos } 3307163879Schristos return 0; 3407163879Schristos } 35